row_number() over()函数基本用法
簡單的說row_number()從1開始,為每一條分組記錄返回一個數字,這里的ROW_NUMBER() OVER (ORDER BY xlh DESC) 是先把xlh列降序,再為降序以后的沒條xlh記錄返回一個序號。?
- 2
row_number() OVER (PARTITION BY COL1 ORDER BY COL2)?表示根據COL1分組,在分組內部根據 COL2排序,而此函數計算的值就表示每組內部排序后的順序編號(組內連續的唯一的)
- 3
實例:
初始化數據
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)
數據顯示為
- 4
需求:根據部門分組,顯示每個部門的工資等級
預期結果:
- 5
SQL腳本:
SELECT *, Row_Number() OVER (partition by deptid ORDER BY salary desc) rank FROM employee
轉載于:https://www.cnblogs.com/nxxshxf/p/5614146.html
總結
以上是生活随笔為你收集整理的row_number() over()函数基本用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: is not allowed to co
- 下一篇: sql语句的进化--原始篇