Получите текущий (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 )