Mid
Detailed answer
Ranking & TOP
SQL & Databases
How do you find the Nth highest salary in SQL Server?
Short answer: Wrap DENSE_RANK() OVER (ORDER BY Salary DESC) and filter WHERE rnk = @N. Parameterize N. For distinct salaries only, DENSE_RANK is usually what interviewers want.
Sample solution
T-SQL
DECLARE @N INT = 3;
SELECT EmpId, Name, Salary
FROM (
SELECT EmpId, Name, Salary,
DENSE_RANK() OVER (ORDER BY Salary DESC) AS rnk
FROM Employees
) t
WHERE rnk = @N;
Ask if they want all employees at that rank or one salary value.
Share this Q&A
Share preview image: https://www.toolliyo.com/images/toolliyo-logo.png