Above the Line
Retention planning at Kestrel Labs starts from a blunt premise: the people most expensive to replace are usually the people already paid above the middle of the company. HR wants that list — everyone earning more than the company-wide average — as the starting population for a retention review, best paid first.
The catch is that the threshold is not a number anyone can type. It is computed from the same table being filtered, and it changes the moment anyone is hired, promoted or leaves. Hard-coding today's figure produces a query that is wrong next month and never says so.
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 two columns, name and salary, one row per employee paid strictly more than the average salary across all employees — equal to the average does not qualify. Order the rows by salary, highest first; no two salaries in the result are equal.
Example output — shape only, on invented people and pay:
| name | salary |
|---|---|
| Nils Ahlberg | 205000 |
| Mira Solberg | 163000 |
| Otto Brandt | 129500 |
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