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.
Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details