find the highest salary
select MAX(Salary) from Employee;
finding the second highest salary
Request-1
SELECT MAX(Salary) FROM Employee WHERE Salary NOT IN (SELECT MAX(Salary) FROM Employee);
Request 2
select MAX(Salary) from Employee WHERE Salary <> (select MAX(Salary) from Employee )
finding the nth highest salary
Request-1
SELECT * FROM Employee Emp1 WHERE (N-1) = ( SELECT COUNT(DISTINCT(Emp2.Salary)) FROM Employee Emp2 WHERE Emp2.Salary > Emp1.Salary)
Request 2
SELECT * FROM Employee Emp1 WHERE (1) = ( SELECT COUNT(DISTINCT(Emp2.Salary)) FROM Employee Emp2 WHERE Emp2.Salary > Emp1.Salary)
nth highest salary using TOP keyword in SQL Server
SELECT TOP 1 Salary FROM ( SELECT DISTINCT TOP N Salary FROM Employee ORDER BY Salary DESC ) AS Emp ORDER BY Salary
Find nth highest salary in MySQL
SELECT Salary FROM Employee ORDER BY Salary DESC LIMIT n-1,1
Find nth highest salary in SQL Server
SELECT Salary FROM Employee ORDER BY Salary DESC OFFSET N-1 ROW(S) FETCH FIRST ROW ONLY
Find the nth highest earnings in Oracle using rownum
select * from ( select Emp.*, row_number() over (order by Salary DESC) rownumb from Employee Emp ) where rownumb = n;
Find the nth highest salary in Oracle using RANK
select * FROM ( select EmployeeID, Salary ,rank() over (order by Salary DESC) ranking from Employee ) WHERE ranking = N;