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了