準備工作:
聚合開窗函數
OVER 關鍵字表示把聚合函數當成聚合開窗函數而不是聚合函數。
SQL標準允許將所有聚合函數用做聚合開窗函數。
OVER(PARTITION BY class)表示對結果集按照 class 進行分區,並且計算當前行
所屬的組的聚合計算結果。
排序開窗函數
row_number() over(order by score) as rownum 表示按score 升序的方式來排序,並得出排序結果的序號
RANK跳躍排序
DENSE_RANK連續排序:
dense_rank() over(order by score) as dense_rank 表示按score 升序的方式來排序,並得出排序結果的排名號。
NTILE分組排名
ntile(5) over(order by score)as ntile表示按 score 升序的方式來排序,然後 5 等分成5 個組,並顯示所在組的序號。