In this code you will learn how to get Nth Highest value in Sql.
This is the most popular interview question. How to find Nth Highest Salary of the employee.
SELECT * FROM
(
SELECT ROW_NUMBER () OVER (ORDER BY emp_sal DESC) row_number,
empId,emp_salFROM emp
) a
WHERE row_number = N
GO
ScriptCREATE DATABASE Test
GO
USE Test
GO
IF OBJECT_ID ('dbo.emp') IS NOT NULL
DROP TABLE dbo.emp
GO
CREATE TABLE dbo.emp
(
empId INT NOT NULL,
emp_Name VARCHAR (15),
emp_sal INT
)
GO
INSERT INTO dbo.emp
(
empId, emp_Name, emp_sal)
VALUES (101, 'ABC', 50000)
GO
INSERT INTO dbo.emp(empId, emp_Name, emp_sal)
VALUES (101, 'CFR', 90000)
GO
INSERT INTO dbo.emp (empId, emp_Name, emp_sal)
VALUES (101, 'DFF', 70000)
GO
INSERT INTO dbo.emp (empId, emp_Name, emp_sal)
VALUES (101, 'GDD', 80000)
GO
INSERT INTO dbo.emp (empId, emp_Name, emp_sal)
VALUES (101, 'DFV', 95000)
GO
SELECT * FROM
(
SELECT ROW_NUMBER () OVER (ORDER BY emp_sal DESC) row_number,
empId,emp_sal
FROM emp
)a
WHERE row_number = 4
GO