前端之家收集整理的这篇文章主要介绍了
按SQL级别对学生进行排名,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这样一张桌子:
Date StudentName score
01.01.09 Alex 100
01.01.09 Tom 90
01.01.09 Sam 70
01.02.09 Alex 100
01.02.09 Tom 50
01.02.09 Sam 100
我需要在不同日期内按分数对结果表中的学生进行排名,如下所示:
Date Student Rank
01.01.09 Alex 1
01.01.09 Tom 2
01.01.09 Sam 3
01.02.09 Alex 1
01.02.09 Sam 1
01.02.09 Tom 2
我怎么能在sql中这样做?
您想在T-
sql中使用rank
函数:
select
date,student,rank() over (partition by date order by score desc) as rank
from
grades
order by
date,rank,student
神奇的是在over子句中.看,它按日期分割这些排名,然后按分数对这些子集进行排序.很棒,嗯?
原文链接:https://www.f2er.com/mssql/77983.html