我的数据示例如下
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
我想选择前三名最高总分,输出应该如下,
UserName Score
__________________
Bowei 280
James 170
Linko 90
我可以知道如何在Mssql查询中写这个吗?
答案 0 :(得分:4)
使用GROUP BY
子句按UserName
对行进行分组。 SUM()
聚合可用于计算每组的总得分(UserName)。使用ORDER BY
子句首先显示最大的聚合分数。最后,TOP
可让您选择前N个结果。
select top 3 UserName, sum(Score) as Score
from UserScores
group by UserName
order by sum(Score) desc