Headcount by Department Name
The board deck for Kestrel Labs has a slide showing how the company is distributed across its teams, and the version that came back from review has a note on it in red: nobody outside this room knows what team 4 is. The slide has to name the teams.
That is the difficulty here rather than the counting. People are counted in one table, and team names live in another; the employee row knows only a number. The deck wants the biggest team at the top, and three of the four teams are the same size, so the slide also needs a rule for what happens when sizes are equal.
departments — one row per team. budget is that team's annual budget in dollars.
| id | name | budget |
|---|---|---|
| 1 | Engineering | 900000 |
| 2 | Sales | 400000 |
| 3 | Marketing | 250000 |
| 4 | Data | 500000 |
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 |
Both tables already exist in the database — there is nothing to create or load.
Task: Write a query returning two columns, name (the team's name) and headcount (how many employees are on that team), one row per team, largest headcount first. When two teams have the same headcount, list them alphabetically by name. A team with nobody on it would not appear at all; every team here has at least one employee, so all four are in the result.
Example output — shape only, on invented teams. The first two are level, so they fall alphabetically:
| name | headcount |
|---|---|
| Legal | 12 |
| Logistics | 12 |
| Support | 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