← Усі задачіSQL · Middle
Друга за величиною зарплата
Поверніть другу за величиною різну зарплату одним рядком з однією колонкою second_salary. Якщо такої немає (усі зарплати однакові чи таблиця порожня), має повернутися один рядок із NULL, а не нуль рядків.
Таблиці
CREATE TABLE employees (
id int PRIMARY KEY,
name text NOT NULL,
salary int NOT NULL
);Ctrl+Enter - запустити тести. Tab - відступ; щоб вийти з редактора клавіатурою, натисніть Esc, а потім Tab. Код зберігається в цьому браузері.
Тести (4)
Кожен тест заповнює таблиці своїми даними й порівнює результат вашого запиту з очікуваним: ті самі колонки (назви й порядок) і ті самі рядки в тому самому порядку, тож ORDER BY важливий. Запит виконується в справжньому PostgreSQL просто в браузері; перший запуск завантажує його (близько 5 МБ).
INSERT INTO employees VALUES (1, 'Ann', 7000), (2, 'Bob', 9000), (3, 'Cid', 5000);
-- the top salary appears twice INSERT INTO employees VALUES (1, 'Ann', 9000), (2, 'Bob', 9000), (3, 'Cid', 6000);
-- only one distinct salary: the answer is NULL INSERT INTO employees VALUES (1, 'Ann', 5000), (2, 'Bob', 5000);
-- empty table: still one row with NULL SELECT 1;