Вы можете использовать RANK()
, или DENSE_RANK
, или ROW_NUMBER()
.
Например:
select *
from (
select *,
rank() over(order by salary desc) as rk
from employee
) x
where rk <= 5
order by rk, employeename
См. Пример выполнения (в котором показано 6 строк, так как две связаны на пятом месте) на DBFidle .