1. 程式人生 > >MySQL 8.0 視窗函式

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 視窗函式