How to find third or nth maximum salary from salary table(EmpID, EmpName, EmpSalary) in optimized way?
table(EmpID, EmpName, EmpSalary)
In SQL Server 2012+, OFFSET...FETCH would be an efficient way to achieve this:
DECLARE @N AS INT; SET @N = 3; SELECT EmpSalary FROM dbo.Salary ORDER BY EmpSalary DESC OFFSET (@N-1) ROWS FETCH NEXT 1 ROWS ONLY