我的数据示例如下
UserName Score Subject
_____________________________
James 80 DDC1
James 90 EGG2
Amy 80 OPP8
Jemmy 50 CBC5
Linko 90 DD1
Bowie 80 AZZ6
Bowie 100 GGC1
Bowie 100 EOO2
我想选择总分最高的前3名,输出应如下,
UserName Score
__________________
Bowei 280
James 170
Linko 90
我可以知道如何在Mssql查询中编写这个吗?
最佳答案
使用GROUP BY
子句按UserName
对行进行分组。 SUM()
聚合可用于计算每个组(用户名)的总分。使用 ORDER BY
子句首先显示最大的总分数。最后,TOP
允许您选择前 N 个结果。
select top 3 UserName, sum(Score) as Score
from UserScores
group by UserName
order by sum(Score) desc
关于sql - Mssql如何选择前10行的SUM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42817791/