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, or cold in Interview mode with the example hidden; 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. Interview mode hides the example: solve it from memory, without the hint or the solution, and it counts as solved cold. 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