The Company Leaderboard
The compensation dashboard at Kestrel Labs opens on a leaderboard: the five best-paid people in the company, each with their position in the company-wide pay order printed beside their salary. It is used in calibration meetings, so the position has to be a number on the row, not something the reader counts down the screen.
Policy is that equal pay means equal standing. Two people on the same salary get the same position, and the position immediately after it is skipped — so a leaderboard can legitimately read 1, 2, 2, 4.
employees — one row per person. department_id is the team they sit on, given as the matching id in departments; salary is annual pay in dollars; hire_date is the day they started, written year-month-day; manager_id is the id of the person they report to, and is NULL for anyone who reports to nobody.
| id | name | department_id | salary | hire_date | manager_id |
|---|---|---|---|---|---|
| 1 | Ava Chen | 1 | 145000 | 2021-03-14 | NULL |
| 2 | Ben Ortiz | 1 | 118000 | 2022-06-01 | 1 |
| 3 | Cara Novak | 1 | 121000 | 2023-01-10 | 1 |
| 4 | Deshawn Lee | 2 | 95000 | 2020-09-23 | NULL |
| 5 | Elin Kask | 2 | 88000 | 2022-11-05 | 4 |
| 6 | Farid Amiri | 3 | 76000 | 2023-04-18 | NULL |
| 7 | Grace Kim | 4 | 132000 | 2021-07-30 | NULL |
| 8 | Hugo Silva | 4 | 110000 | 2023-02-14 | 7 |
| 9 | Ines Duarte | 4 | 104000 | 2023-08-01 | 7 |
| 10 | Jonas Weber | 2 | 91000 | 2021-12-19 | 4 |
The table already exists in the database — there is nothing to create or load.
Task: Write a query returning three columns, name, salary and salary_rank (that person's standing by pay across the whole company, 1 being the best paid), returning only the five rows with the best standing. Order the result by salary_rank ascending, and alphabetically by name for anyone sharing a standing. Two people on the same salary share a number and the next number is skipped. No salaries are equal in this data, so the five rows are the five highest paid.
Example output — shape only, on invented people and pay:
| name | salary | salary_rank |
|---|---|---|
| Nils Ahlberg | 210000 | 1 |
| Mira Solberg | 168000 | 2 |
| Otto Brandt | 154000 | 3 |
| Yusuf Kaya | 121500 | 4 |
| Zoe Marchetti | 98000 | 5 |
Sign in to solve this problem
Reading problems is free for everyone — solving them (Run, Submit, and tracking what you've solved) needs an account.
Sign in