MySQL 8.0 窗口函数

MySQL 8.0 新增窗口函数,与oracle 窗口函数类似,属于mysql的一大特点
1.ROW_NUMBER () OVER ()生成新序列,按照c2排序,生成新序列
MySQL 8.0 窗口函数
按照c1分组,c2排序生成序列
MySQL 8.0 窗口函数
2.cume_dist() OVER ()在某种排序条件下,小于等于当前行值的行数/总行数
按照c1分组,c2排序,求当前行值的行数/总行数
MySQL 8.0 窗口函数
3.rank() OVER ()类似于row_number() 生成新排序
按照c1分组,c2排序,生成新序列,当两个排序值相同时rank值相同
MySQL 8.0 窗口函数
4.PERCENT_RANK() OVER ()当前RANK值-1/总行数-1
MySQL 8.0 窗口函数
5.DENSE_RANK() OVER ()为了解决rank()编号存在的问题的,比如rank值出现两个1,会跳过2,而DENSE_RANK不会
MySQL 8.0 窗口函数
6.FIRST_VALUE() OVER ()按照某种方式排序,求第一个值
MySQL 8.0 窗口函数
7.LAST_VALUE() OVER ()按照某种分组排序求最后一个值
MySQL 8.0 窗口函数
8.NTH_VALUE() OVER ()按某种方式排序求某一行的值
MySQL 8.0 窗口函数
9.LAG(id) OVER ()按某种方式排序求上一行的值
MySQL 8.0 窗口函数
10.lead () OVER ()按某种方式排序求下一行的值
MySQL 8.0 窗口函数
11.将数据按照某些排序分成N组
MySQL 8.0 窗口函数
12.CTE 公用表达式,非递归的CTE,查询最新重复注册的用户
MySQL 8.0 窗口函数
13.CTE 公用表达式,递归的CTE,
MySQL 8.0 窗口函数

猜你喜欢

转载自blog.51cto.com/11103985/2341971