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 窗口函數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章