listary-p1008驱动下载

rank函数
2023年4月2日发(作者:皮皮影院播放器)

窗⼝函数RANK

最近⼀直在了解与学习sqlserver窗⼝函数的各种知识,发现窗⼝函数能够很⽅便实现在之前可能需要关联⼦查询等⼀些复杂的逻辑才能实

现的逻辑,下边是⾃⼰的⼀些学习笔记。

RANK函数:从⼩到⼤,每次最苦逼的就是考试了,肿么都会有⼀个结果排名,张三数学第⼀,李四、⼩明并列第⼆...。这应该是我们最早

接触到的排名概念,sqlserver中rank也是这样的意思,和row_number()区别就是rownum会为每个分区值相同的去⼀个随机排名,即排名不

会存在并列的情况

创建⼀个数据表:包含班级编号、课程编号、学⽣编号、学⽣成绩(T_StudentGradeClassId,CourseId,StudentId,SGrade)

1:获得每个班级,每门课程同学们的成绩排名情况(成绩相同,并列排名)

1SELECTid,

2ClassId,

3CourseId,

4StudentId,

5SGrade,

6RANK()OVER(PARTITIONBYClassId,CourseIdORDERBYSGradeDESC)ASrownum

7FROMdbo.T_StudentGrade;

ViewCode

2:获得每门课程的排名前三学⽣情况

1WITHtmpTableAS(

2SELECTid,

3ClassId,

4CourseId,

5StudentId,

6SGrade,

7RANK()OVER(PARTITIONBYCourseIdORDERBYSGradeDESC)ASScoreRank

8FROMdbo.T_StudentGrade)

9SELECT*ank<4

ViewCode

更多推荐

rank函数