基本語法:ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY COL2)
語法詳解:表示根據COL1分組,在分組內部根據 COL2排序,而此函數計算的值就表示每組內部排序後的順序編號(組內連續的唯一的)
簡單的說,row_number()從1開始,爲每條分組紀錄返回一個數字,這裏的ROW_NUMBER() OVER(PARTITION BY COL1 ORDER BY COL2 DESC) 是先把COL2列降序,再爲降序以後的每條COL2記錄返回一個序號
數據:
SELECT *, Row_Number() OVER (partition by deptid ORDER BY salary desc) rank FROM employee