日期:2014-05-16 浏览次数:20408 次
row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)
?
查询每个部门的最高工资
select deptno,ename,sal from
???? (select deptno,ename,sal,row_number() over (partition by deptno order by sal desc) as sal_order
???????? from scott.emp) where sal_order <2;
?
rank()是跳跃排序,有两个第二名时接下来就是第四名(同样是在各个分组内).