Saturday, April 3, 2010

Nth Highest Salary or Nth Min/Max Records Script

1) Find 6th Highest Salary Using Top Clause

SELECT TOP 1 salary FROM
(SELECT DISTINCT TOP 6 salary FROM employeeORDER BY salary DESC) a
ORDER BY salary

2) Find 4th Highest Salary Using Min/Max Function

SELECT MIN(Sal) FROM TableName
WHERE Sal IN
(SELECT TOP 4 Sal FROM TableName ORDER BY Sal DESC)

3) Find Nth Max Number

select top 1 quantity from
(SELECT TOP n-1 quantity FROM
(SELECT DISTINCT TOP n quantity FROM productorder
ORDER BY quantity DESC) as A
ORDER BY quantity desc )as B
order by quantity


4) Find 10th Highest Salary Using Row_Number() Function

SELECT * FROM (
SELECT *, ROW_NUMBER() OVER (order by EMP.SAL DESC) AS RANK FROM EMP) v where RANK = 10;

No comments:

Post a Comment