select ename, sal,
dense_rank( ) over (order by sal desc) dr
from emp
;
ENAME SAL DR
---------- ---------- ----------
KING 5000 1
FORD 3000 2
SCOTT 3000 2
JONES 2975 3
BLAKE 2850 4
CLARK 2450 5
ALLEN 1600 6
TURNER 1500 7
MILLER 1300 8
WARD 1250 9
MARTIN 1250 9
ADAMS 1100 10
SQL> select ename, sal
2 from (select ename, sal, dense_rank() over(order by sal) dr
3 from emp)
4 where dr <= 5
5 ;
ENAME SAL
---------- ----------
SMITH 800
JAMES 950
ADAMS 1100
WARD 1250
MARTIN 1250
MILLER 1300
SQL> select ename, sal
2 from (select ename, sal, dense_rank() over(order by sal desc ) dr
3 from emp)
4 where dr <= 5
5 ;
ENAME SAL
---------- ----------
KING 5000
SCOTT 3000
FORD 3000
JONES 2975
BLAKE 2850
CLARK 2450