语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)
row_number() OVER() 从1开始,为每一条分组记录返回一个数字,这里的ROW_NUMBER() OVER (ORDER BY c1 DESC) 是先把c1列降序,再为降序以后的没条c1记录返回一个序号。
row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)
需求:根据部门分组,显示每个部门的工资等级
SQL脚本:
SELECT *,
Row_Number() OVER (partition by deptid ORDER BY salary desc) rank
FROM employee
http://jingyan.baidu.com/article/9989c74604a644f648ecfef3.html