rank() over (partition by xx order by xx)
--1. partition by用于给结果集分组,如果没有指定,则把整个结果集作为一个分组
--2. rank是在每个分组内部进行排名的
--1. partition by用于给结果集分组,如果没有指定,则把整个结果集作为一个分组
--2. rank是在每个分组内部进行排名的
例子: 查询emp表中每个部门中工资前3名的员工信息
- SELECT *
- FROM
- (SELECT e.*, rank() over (partition BY deptno order by sal desc) rk FROM emp e
- ) t1
- WHERE t1.rk<=3;