網站首頁 健康小知識 母嬰教育 起名 運動知識 職場理財 情感生活 綠色生活 遊戲數碼 美容 特色美食 愛好

ROW NUMBER() OVER函數的基本用法

欄目: 學習交流 / 發佈於: / 人氣:1.7W

語法:ROW_NUMBER() OVER(partition BY COLUMN ORDER BY COLUMN)

操作方法

(01)簡單的説row_number()從1開始,為每一條分組記錄返回一個數字,這裏的ROW_NUMBER() OVER (ORDER BY xlh DESC) 是先把xlh列降序,再為降序以後的沒條xlh記錄返回一個序號。

ROW NUMBER() OVER函數的基本用法

(02)row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根據COL1分組,在分組內部根據 COL2排序,而此函數計算的值就表示每組內部排序後的順序編號(組內連續的唯一的)

(03)實例:初始化數據create table employee (empid int ,deptid int ,salary decimal(10,2))insert into employee values(1,10,5500.00)insert into employee values(2,10,4500.00)insert into employee values(3,20,1900.00)insert into employee values(4,20,4800.00)insert into employee values(5,40,6500.00)insert into employee values(6,40,14500.00)insert into employee values(7,40,44500.00)insert into employee values(8,50,6500.00)insert into employee values(9,50,7500.00)數據顯示為

ROW NUMBER() OVER函數的基本用法 第2張

(04)需求:根據部門分組,顯示每個部門的工資等級預期結果:

ROW NUMBER() OVER函數的基本用法 第3張

(05)SQL腳本:SELECT *, Row_Number() OVER (partition by deptid ORDER BY salary desc) rank FROM employee