SELECT
e.department,
e.employee_name,
e.salary
FROM
(
SELECT
department,
employee_name,
salary,
RANK() over (partition by department ORDER BY salary DESC) AS rk
FROM
employees
) e
WHERE e.rk<=2
ORDER BY
e.department, e.salary DESC
写的时候脑子要清醒。比如我虽然窗口排序了但是在外层居然忘记加WHERE e.rk<=2了

京公网安备 11010502036488号