ROW_NUMBER() OVER()的用法:分组排序
- 语法:ROW_NUMBER() OVER(partition by 分组列 order by 排序列)
一、仅对数据进行排序
--按照C#分数从高到低进行排名
select *,ROW_NUMBER() over(order by CSharp desc) as CSharpRank from ScoreList
原数据:
排名后数据:
二、对数据进行分组和排序
select sl.Id,sl.StudentId,sl.CSharp,sl.SQLServerDB ,ss.ClassId,ROW_NUMBER() over(partition by ss.ClassId order by ss.ClassId) CC
from ScoreList sl
left join Students ss on sl.StudentId=ss.StudentId
原数据:
分组排名后数据: