Как получить 5 самых высоких значений из таблицы - PullRequest
0 голосов
/ 15 марта 2020

У меня есть таблица с 10 строками с идентификатором сотрудника и зарплатой. Я хочу получить таблицу с 5 строками в порядке самой высокой зарплаты.

create table employee(
id int not null primary key,
employeeName VarChar(20),
salary int
);

Спасибо.

1 Ответ

2 голосов
/ 15 марта 2020

Вы можете использовать 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 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...