SQL QuestSQL Interview Questions › Window Functions

Second-Highest Earner Per Department (ROW_NUMBER)

MediumFreeQuerying BasicsWindow FunctionsSubqueries & CTEs

A pay-equity review wants the second-highest-paid employee in each department as a benchmark for promotion-band calibration.

Use ROW_NUMBER() OVER (PARTITION BY department ORDER BY salary DESC, name ASC) and keep rn = 2. Show department, name, salary. Order by department.

ROW_NUMBER (not RANK) is the right pick here: even if two people in the same department tie at the top salary, you want a single row for "position #2", and ROW_NUMBER guarantees that. The tie-breaker name ASC makes the answer deterministic when salaries tie.

Solve it in the browser editor →

Runs on SQLite in your browser, graded against the expected result, no signup. A wrong answer gets a diagnosis, not just "incorrect".

Schema

employees

emp_idnamedepartmentpositionsalaryhire_datemanager_idperformance_rating
1Alice JohnsonEngineeringSenior Developer950002019-03-1554.5
2Bob SmithEngineeringDeveloper750002020-06-0113.8
3Carol WilliamsMarketingMarketing Manager850002018-09-20NULL4.2

Expected output: Engineering | Bob | 90000

Hint

The hint for this one spells out most of the query, so it stays in the editor. Reach for SELECT, Window Functions, ROW_NUMBER, and open the hint there if you stall.

Concepts

SELECT Window Functions ROW_NUMBER CTE PARTITION BY

Practise the topic: SQL practice questions · Window function practice · CTE practice · Ranking function practice

In these company practice sets

NVIDIA · OpenAI · Tesla · Bloomberg

A SQL Quest challenge matched to patterns reported for these companies — not a question any of them has published.

Related questions

Window Functions: ROW_NUMBERMedium · FreeMonth-over-Month Customer GrowthMedium · FreeRANK vs DENSE_RANK Side-by-SideMedium · FreeTop 3 Salary Tiers (DENSE_RANK)Medium · FreeMost Recent Order Per Customer (ROW_NUMBER)Medium · FreeSalary vs Department Average (PARTITION BY)Medium · Free

Where would this cost you points in an interview?

Ten questions, no signup: a Skillmap across nine SQL skills and the one to fix first.

Take the readiness test