← Усі задачіSQL · Middle
Найбільша зарплата в кожному відділі
Для кожного відділу виведіть співробітника з найбільшою зарплатою: колонки department, name, salary, за назвою відділу. Якщо найбільшу зарплату мають кілька людей, беріть того, у кого менший id - по одному рядку на відділ.
Таблиці
CREATE TABLE employees (
id int PRIMARY KEY,
name text NOT NULL,
department text NOT NULL,
salary int NOT NULL
);Ctrl+Enter - запустити тести. Tab - відступ; щоб вийти з редактора клавіатурою, натисніть Esc, а потім Tab. Код зберігається в цьому браузері.
Тести (3)
Кожен тест заповнює таблиці своїми даними й порівнює результат вашого запиту з очікуваним: ті самі колонки (назви й порядок) і ті самі рядки в тому самому порядку, тож ORDER BY важливий. Запит виконується в справжньому PostgreSQL просто в браузері; перший запуск завантажує його (близько 5 МБ).
INSERT INTO employees VALUES (1, 'Ann', 'Engineering', 7000), (2, 'Bob', 'Engineering', 9000), (3, 'Cid', 'Sales', 5000), (4, 'Dee', 'Sales', 6000), (5, 'Eva', 'HR', 4000);
-- a tie: the employee with the smaller id wins INSERT INTO employees VALUES (7, 'Max', 'Sales', 6000), (3, 'Zoe', 'Sales', 6000), (5, 'Lea', 'Sales', 5000);
INSERT INTO employees VALUES (1, 'Solo', 'Legal', 3000);