Даны таблицы Employee и Department.
Нужно вывести всех сотрудников, зарплата которых входит в top-3 уникальных зарплат внутри их департамента.
Если несколько сотрудников получают одинаковую зарплату, они должны получить одинаковый ранг и все попасть в результат, если эта зарплата входит в top-3 уникальных зарплат департамента.
CREATE TABLE Department (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL
);
CREATE TABLE Employee (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
salary INTEGER NOT NULL,
departmentId INTEGER NOT NULL,
FOREIGN KEY (departmentId) REFERENCES Department(id)
);Верните колонки:
Department — название департамента;Employee — имя сотрудника;Salary — зарплата.Отсортируйте результат по Department ASC, Salary DESC, Employee ASC.
top-3 уникальных зарплат означает, что для зарплат 200, 200, 100, 50 ранги должны быть 1, 1, 2, 3. Для этого нужен DENSE_RANK(), а не ROW_NUMBER().