Простой SQL-запрос для получения сведений о сотруднике, у которого в таблице указано Nth MAX Salary
Employee
.
sql> select * from Employee order by salary desc LIMIT 1 OFFSET <N - 1>;
Рассмотрим структуру таблицы как:
Сотрудник (
id [int первичный ключ auto_increment],
имя [varchar (30)],
зарплата [int]);
Пример:
Если вам нужна 3 MAX
зарплата в приведенной выше таблице, запрос будет:
sql> select * from Employee order by salary desc LIMIT 1 OFFSET 2;
Точно так же:
Если вам нужна 8-я MAX
зарплата в таблице выше, запрос будет:
sql> select * from Employee order by salary desc LIMIT 1 OFFSET 7;
Примечание:
Когда вам нужно получить значение Nth MAX
, вы должны указать OFFSET
как (N - 1) .
Таким же образом вы можете выполнять аналогичные операции в случае оплаты труда в порядке возрастания.