Top N per group with ROW_NUMBER in SQL

SQL interview exercise on Window Functions, difficulty 3 of 3. Solve it in the editor beside a worked example; the tests run the moment you do.

Return the two highest-paid employees of each department (employees without a department are left out). Break salary ties by name, so exactly two rows come back per department that has at least two people. Columns: department, employee, salary. Sorted by department, then salary descending, then employee.

Each exercise pairs a worked example with a twin problem to solve in a real editor; the tests run the moment you do. Progress is saved in your browser, and in your account if you sign in.

More Window Functions in SQL

All SQL exercises · Other languages and frameworks