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,mysql