select * from (
select deptno, ename, sal,
dense_rank() over(
partition by deptno
order by sal desc
) dr
from emp
)
where dr <= 3
order by deptno, sal desc;
select * from (
select deptno, ename, sal,
rank() over(
partition by deptno
order by sal desc
) dr
from emp
)
where dr <= 3
order by deptno, sal desc;