千家信息网

MySQL 8.0 窗口函数

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,MySQL 8.0 新增窗口函数,与oracle 窗口函数类似,属于mysql的一大特点1.ROW_NUMBER () OVER ()生成新序列,按照c2排序,生成新序列按照c1分组,c2排序生成序列
千家信息网最后更新 2025年01月20日MySQL 8.0 窗口函数

MySQL 8.0 新增窗口函数,与oracle 窗口函数类似,属于mysql的一大特点
1.ROW_NUMBER () OVER ()生成新序列,按照c2排序,生成新序列

按照c1分组,c2排序生成序列

2.cume_dist() OVER ()在某种排序条件下,小于等于当前行值的行数/总行数
按照c1分组,c2排序,求当前行值的行数/总行数

3.rank() OVER ()类似于row_number() 生成新排序
按照c1分组,c2排序,生成新序列,当两个排序值相同时rank值相同

4.PERCENT_RANK() OVER ()当前RANK值-1/总行数-1

5.DENSE_RANK() OVER ()为了解决rank()编号存在的问题的,比如rank值出现两个1,会跳过2,而DENSE_RANK不会

6.FIRST_VALUE() OVER ()按照某种方式排序,求第一个值

7.LAST_VALUE() OVER ()按照某种分组排序求最后一个值

8.NTH_VALUE() OVER ()按某种方式排序求某一行的值

9.LAG(id) OVER ()按某种方式排序求上一行的值

10.lead () OVER ()按某种方式排序求下一行的值

11.将数据按照某些排序分成N组

12.CTE 公用表达式,非递归的CTE,查询最新重复注册的用户

13.CTE 公用表达式,递归的CTE,

0