abc*_*cba 3 sql sql-server sql-server-2008
我的数据示例如下
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
Run Code Online (Sandbox Code Playgroud)
我想选择总分最高的前 3 名,输出应如下,
UserName Score
__________________
Bowei 280
James 170
Linko 90
Run Code Online (Sandbox Code Playgroud)
我可以知道如何在 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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1718 次 |
最近记录: |