Longest-Serving Employees
Kestrel Labs hands out three loyalty awards at the January all-hands, and the cut-off for the count is the first day of the year: 1 January 2024. HR needs the three longest-serving people and, for the certificate, the exact number of days each of them has been with the company as of that date.
Nothing in the table records length of service. There is only a start date stored as text, so service has to be derived from the distance between that date and the cut-off.
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 tenure_days (the whole number of days from that employee's hire_date up to 2024-01-01), returning only the three employees with the longest service, longest first. tenure_days must be a plain whole number, not a decimal. The third and fourth longest-serving employees are 142 days apart, so which three come back is not in doubt.
Example output — shape only, on invented people. tenure_days is a bare whole number of days, with no decimal part and no unit attached:
| name | tenure_days |
|---|---|
| Nils Ahlberg | 2408 |
| Mira Solberg | 1976 |
| Otto Brandt | 1503 |
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