Запит SQL для обчислення другої найвищої зарплати в таблиці бази даних має назву Emp
- вибрати * з(
- вибрати name, salary, dense_rank()
- вище (порядок за описом зарплати)ранг від Emp)
- де rank = & num;
- Щоб обчислити другу за величиною зарплату, використовуйте num = 2.
- Щоб обчислити третю за величиною зарплату, використовуйте num = 3.
- і так далі…
SELECT MAX (column_name) FROM table_name WHERE column_name NOT IN (SELECT Max (column_name) FROM table_name); Спочатку ми вибрали максимальне значення з цього стовпця в таблиці, а потім знову здійснили пошук максимального значення в цьому стовпці, виключивши максимальне значення, яке вже було знайдено, тому в результаті вийшло друге максимальне значення.
Використання функції DENSE_RANK() Ранжування у функції DENSE_RANK() є цілими значеннями, починаючи з 1. У наведеному вище запиті замініть значення N на потрібний нам розряд зарплати. Наприклад, замініть N на 2, щоб отримати другу найвищу зарплату в таблиці.
І отримати доступ до всіх наших столиків. Тепер ми маємо доступ до таблиць. І таблиця співробітників, над якою ми працювали. Тож давайте швидко виставимо столи. тут.