how to find nth highest salary
Answers were Sorted based on User's Feedback
Answer / himanshu
Just replace the N with required number:
SELECT empid, empname, empsalary FROM emp e
WHERE (SELECT COUNT(DISTINCT(e2.empsalary))
FROM emp e2
WHERE e2.empsalary >=
e.empsalary ) = N
ex: 4th highest
SELECT empid, empname, empsalary FROM emp e
WHERE (SELECT COUNT(DISTINCT(e2.empsalary))
FROM emp e2
WHERE e2.empsalary >=
e.empsalary ) = 4
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / aravinda
try with this query you will get desired position salary.
Select Salary From Employees a Where 1=(
Select Count(Distinct Salary) From Employees b
Where a.Salary <= b.Salary );
just replace where clause number for desired position. ,2,3,4
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / sanchit dubey
DECLARE @SQL VARCHAR(2000), @N INT
SET @N = 5
SET @N = @N - 1
SET @sql = 'select top 1 salary from ABC where salary not
in ( SELECT TOP ' + CAST(@n AS VARCHAR(100)) + ' salary
FROM ABC order by salary desc ) ' + ' order by salary desc '
SELECT @SQL
EXEC @SQL
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / avinash
declare @n;
set @n = N
select * from tbl
where @n in (
select dense_rank over (order by salary) as rank_sal
from tbl )
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / harshal
Below query is written assuming table "employee" has a column called "salary".
select salary from (select salary from (select distinct(salary) from employee order by salary desc)where rownum<n) order by salary asc where rownum<1;
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / yoursguna@gmail.com
SELECT * FROM `salary_table` group by `salary` order by
`salary` desc limit 1,1
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / nitin munjani
Using Row_Number() function
Here N refers the Nth highest salary
select empid,empname from mstemployee where empsalary in (
(select empsalary from
(select Row_Number() over(order by empsalary desc)
rownm,empsalary from mstemployee
group by empsalary) o where rownm=N))
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / vinay upadhyay
These are tested queries to find Nth highest salary
Select distinct(sal) From employee emp Where n =
( Select Count(Distinct y.sal) From employee y Where y.sal
>=emp.sal)
OR
select distinct(salary) from employee order by salary desc
limit n-1,1
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / ravindra babu
select sal from (select sal from(Select distinct sal from
EMP order by sal desc)Where rownum <=2 order by sal asc)
Where rownum=1;
Is This Answer Correct ? | 0 Yes | 0 No |
Answer / sudhir
DISPLAY THE RECORDS WHO'S GETTING 3RD HIGHEST SALARY.
SELECT * FROM EMP E1
WHERE 3 =(SELECT COUNT(DISTINCT(SAL))
FROM EMP E2
WHERE E1.SAL <= E2.SAL)
Is This Answer Correct ? | 0 Yes | 0 No |
Define normalisation?
Difference between report and query parameter.
Where is localdb stored?
What are .mdf files?
What is a materialized view?
Explain raiserror in sql server?
What is data mart? : sql server analysis services, ssas
Table - Products has number of products as below Productid ProductName 1 iPhone 2 iPad 3 BlackBerry Table - SalesPersonProduct has the below records Salespersonid productid S1 1 S1 2 S1 3 S2 1 S3 2 Write a SQL query that returns the number of sales for each product
How the authentication mode can be changed?
Explain how dts is used to extract, transform and consolidate data?
What is the native system stored procedure to execute a command against all databases?
Explain view in sql server?