宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取
1.首先,需要建表。
表名:coursr(失误,表名写错了)
2.我们需要对每个课程进行排序。
3.知识准备:
分组排序函数有3种:
row_number() over() rank() over() dense_rank() over()
4.运行
row_number() over()
select t.*, row_number() over(partition by t.coursename order by t.coursescore desc) courserank from sddbtmp.coursr t
结果:
结论:
可以看出,row_number() over() 这个函数把排序从1开始,不管分数重复不重复。
rank() over()
select t.*, rank() over(partition by t.coursename order by t.coursescore desc) courserank from sddbtmp.coursr t
结果:
结论:这个函数把排序从1开始,但是当分数重复时,排名会相同,例如有两个第二名时接下来就是第四名(同样是在各个分组内)
dense_rank() over()
select t.*, dense_rank() over(partition by t.coursename order by t.coursescore desc) courserank from sddbtmp.coursr t
结果:
结论:这个函数把排序从1开始,但是当分数重复时,排名会相同,例如有两个第二名时接下来就是第三名(同样是在各个分组内)
最新评论