#数据库知识点
- 窗口函数
- rank()
- dense_rank()
- row_number()
应用场景:
- 排名问题
- Top-N问题
- Mysql 8
区别:
- rank() 在排名相同时记为同一个值,并参与总排序
- dense_rank() 在排名相同时记为同一个值,但不参与总排序
- row_number()在排名相同时记为不同的排名
示例及使用方法:
select *,
rank() over (order by 成绩 desc) as ranking,
dense_rank() over (order by 成绩 desc) as dese_rank,
row_number() over (order by 成绩 desc) as row_num
from 班级
参考:
https://leetcode-cn.com/problems/rank-scores/solution/tu-jie-sqlmian-shi-ti-jing-dian-pai-ming-wen-ti-by/
练习题目:Leetcode 178. 分数排名