一、row_number() over()排序功能:函數
(1) row_number() over()分組排序功能:spa
在使用 row_number() over()函數時候,over()裏頭的分組以及排序的執行晚於 where group by order by 的執行。排序
partition by 用於給結果集分組,若是沒有指定那麼它把整個結果集做爲一個分組,它和聚合函數不一樣的地方在於它可以返回一個分組中的多條記錄,而聚合函數通常只有一個反映統計值的記錄。it
二、rank() over()是跳躍排序,有兩個第二名時接下來就是第四名(一樣是在各個分組內).io
三、dense_rank() over()是連續排序,有兩個第二名時仍然跟着第三名。相比之下row_number是沒有重複值的 import