1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xuthus5-Database-SQL-Actual-Combat

Клонировать/Скачать
17.获取当前薪水第二多的员工的emp_no以及其对应的薪水salary.md 1.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 10.03.2025 00:53 c66e7df

Получение текущего второго по величине оклада сотрудника emp_no и соответствующей ему зарплаты salary

Описание задачи

Получите текущий (to_date='9999-01-01') второй по величине оклад сотрудника emp_no и соответствующую ему зарплату salary.

CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`, `from_date`)
);

Ответ

SELECT emp_no, salary FROM salaries WHERE to_date = '9999-01-01' ORDER BY salary DESC LIMIT 1, 1

Объяснение решения

Объяснение решения:

Запрос выбирает текущий (to_date='9999-01-01') второй по величине оклад сотрудника emp_no и соответствующую ему зарплату salary. Для этого используется сортировка по столбцу salary в порядке убывания (DESC) и ограничение выборки до двух записей (LIMIT 1, 1). Таким образом, первая запись будет самой высокой зарплатой, а вторая — второй по величине окладом.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/xuthus5-Database-SQL-Actual-Combat.git
git@api.gitlife.ru:oschina-mirror/xuthus5-Database-SQL-Actual-Combat.git
oschina-mirror
xuthus5-Database-SQL-Actual-Combat
xuthus5-Database-SQL-Actual-Combat
master