MySQL 8.0 窗口函数
按照功能划分,可以把MySQL支持的窗口函数分为如下几类:
- 序号函数:row_number() / rank() / dense_rank()
- 分布函数:percent_rank() / cume_dist()
- 前后函数:lag() / lead()
- 头尾函数:first_val() / last_val()
- 其他函数:nth_value() / nfile()
一、排名函数:序号函数:row_number() / rank() / dense_rank()
select *,函数() over(partition by 字段1 order by 字段2 desc or asc) as rank from table
1、row_number() :连续排名,顺序排序——>1、2、3
- 注意:在使用over等开窗函数时,over里头的分组及排序的执行晚于“where,group by,order by”的执行。