Where Does the Money Go?
The CFO of Kestrel Labs has a suspicion and wants it checked before the salary review opens. Her claim is that the company-wide average salary — one tidy number everyone quotes — hides the fact that the teams are paid on completely different scales, and that budgeting against the single figure has been quietly wrong for a year.
One number per team is what settles it. The awkward part is that the employee table has ten rows and she wants four answers out of it, so the rows have to be folded down by the team they belong to rather than all at once.
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, department_id and avg_salary, one row per team, with avg_salary being the mean salary of the people on that team rounded to two decimal places. Order the rows by avg_salary, highest average first; no two teams have the same average here. Only teams that have at least one employee appear, since the figure is computed from employee rows.
Example output — shape only, on invented teams. An average that does not land on a round number keeps its cents:
| department_id | avg_salary |
|---|---|
| 21 | 88750.5 |
| 24 | 71200 |
| 27 | 54080.25 |
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