如何实现分数排名

时间:2013-08-19 06:13:00

标签: sql-server tsql

我有student表(sidsname),课程tablecidcname)和{{{ 1}}表格(scsidcid)。

如果总分相同,如何按总成绩对学生信息及其总分进行排名,按score排序。

我目前的SQL如下:

cid

1 个答案:

答案 0 :(得分:3)

如果我理解正确,您可以在查询中使用rank。请尝试以下方法:

SELECT rank() OVER (ORDER BY SUM(ss.Score) DESC) as rank, s.Sname, ISNULL(SUM(ss.Score),0) 
FROM Student s LEFT JOIN SC ss 
ON s.Sid = ss.Sid 
GROUP BY s.Sname 
ORDER BY SUM(ss.Score) DESC

请参阅working demo on SQL Fiddle