标签:from 图片 partition 成绩 排序 png class img seq
原表为:
一、分区函数Partition By的与row_number()的用法
1、不分班按学生成绩排名
select *,row_number() over(order by Score desc) as Sequence from Student
执行结果:
2、分班后按学生成绩排名
select *,row_number() over(partition by Grade order by Score desc) as Sequence from Student
执行结果:
3、获取每个班的前1(几)名
select * from ( select *,row_number() over(partition by Grade order by Score desc) as Sequence from Student )T where T.Sequence<=1
执行结果:
二、分区函数Partition By与排序rank()的用法
1、分班后按学生成绩排名 该语句是对分数相同的记录进行了同一排名,例如:两个80分的并列第2名,第4名就没有了
select *,rank() over(partition by Grade order by Score desc) as Sequence from Student
执行结果:
2、获取每个班的前2(几)名 该语句是对分数相同的记录进行了同一排名,例如:两个80分的并列第2名,第4名就没有了
select * from ( select *,rank() over(partition by Grade order by Score desc) as Sequence from Student )T where T.Sequence<=2
执行结果:
row_number() over (partition by order by)的用法
标签:from 图片 partition 成绩 排序 png class img seq
原文地址:https://www.cnblogs.com/kylie-go/p/10238096.html