首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在SQL中按汇总分数对团队进行排序?(使用SUM()对两列进行排序)

如何在SQL中按汇总分数对团队进行排序?(使用SUM()对两列进行排序)
EN

Stack Overflow用户
提问于 2019-07-29 14:36:26
回答 4查看 55关注 0票数 0

Playerbase有3列:PlrNameTeamTagScore我需要根据TeamTag对球员进行排序。并将综合得分最高的团队放在上面。

所以想要弄清楚什么查询将有助于实现这一点:

代码语言:javascript
运行
复制
PlrName|TeamTag|Score        PlrName|TeamTag|Score
-------------------------------------------------------
Player1|TeamThr|0            Player6|TeamThr|9  \
Player2|TeamTwo|2            Player1|TeamThr|0   > 9
Player3|TeamOne|4            Player4|TeamThr|0  /
Player4|TeamThr|0            Player5|TeamOne|4  \
Player5|TeamOne|4  became->  Player3|TeamOne|4   > 8
Player6|TeamThr|9            Player8|TeamOne|0  /
Player7|TeamTwo|2            Player2|TeamTwo|2  \
Player8|TeamOne|0            Player7|TeamTwo|2   > 6
Player9|TeamTwo|2            Player9|TeamTwo|2  /

添加:使用此查询,我可以获得一个数组(?)在按团队得分排序的TeamTag中:

SELECT TeamTag FROM Playerbase GROUP BY team ORDER BY SUM(Score) DESC

使用这个“数组”对..can进行排序,然后执行PlayerBase?在一个查询中:)我还需要获得完整的行(使用*),而不仅仅是三个字段。

EN

回答 4

Stack Overflow用户

发布于 2019-07-29 17:00:35

如果您的数据库管理系统不支持窗口函数(低于8.0的任何MySQL版本):

代码语言:javascript
运行
复制
SELECT PlrName, TeamTag, Score FROM table a
LEFT JOIN 
(SELECT PlrName, TeamTag, Score ,SUM(score) ts FROM table GROUP BY TeamTag) b 
ON a.TeamTag=b.TeamTag
ORDER BY b.ts DESC, a.TeamTag, score DESC;
票数 1
EN

Stack Overflow用户

发布于 2019-07-29 14:43:13

尝尝这个

代码语言:javascript
运行
复制
; with cte as (
select  TeamTag, sum(Score) as Sum
from tablename)
select t.PlrName, t.teamtag, t.Score from tablename as t inner join cte as c 
on t.teamtag=c.teamtag order by c.sum desc, t.score desc
票数 0
EN

Stack Overflow用户

发布于 2019-07-29 14:51:33

假设您的dbms支持窗口函数

代码语言:javascript
运行
复制
select PlrName, TeamTag, Score
from (
    select PlrName, TeamTag, Score, sum(Score) over (partition by TeamTag) ms
    from tablename ) t
order by ms desc, TeamTag, Score desc

编辑max()更改为sum(),因为OP改进了问题的解释。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57248322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档