how to find nth highest salary
Answers were Sorted based on User's Feedback
Answer / nandkumar karlekar
Take this script and try u will get nth salary as you wish
create Table EmpTest
(
ID bigint,
Sal bigint
)
go
insert into emptest
values
(1,100)
insert into emptest
values
(2,200)
insert into emptest
values
(3,300)
insert into emptest
values
(4,400)
insert into emptest
values
(5,500)
insert into emptest
values
(6,600)
go
DECLARE @n bigint
--specify your nth salary
SET @n=3
select top 1 * from Emptest
where @n <= (select Count(*) from Emptest EE where EE.sal
>Emptest.sal)
order by sal desc
| Is This Answer Correct ? | 0 Yes | 3 No |
Answer / latha k
declare @N INT
SET @N = 3
SELECT *
FROM [user] AS [user]
WHERE @N = (SELECT COUNT(DISTINCT(user1.Salary))
FROM [user] AS [user1]
WHERE user.Salary <= user1.Salary
)
| Is This Answer Correct ? | 0 Yes | 3 No |
Answer / dilip
SELECT MIN(SALARY) FROM tablealies.Table_Name WHERE SALARY
IN (SELECT DISTINCT TOP N MAX(SALARY) FROM
tablealies.Table_Name ORDER BY SALARY DESC)
| Is This Answer Correct ? | 0 Yes | 3 No |
Answer / premsagar12
SELECT DISTINCT(A.SAL),ENAME FROM EMP A WHERE &N=(SELECT
COUNT(DISTINCT(B.SAL )) FROM EMP B WHERE A.SAL<=B.SAL);
| Is This Answer Correct ? | 0 Yes | 3 No |
Answer / dinesh
select distinct(a.salary)
from Salarydtls a
where 3= (select distinct(count(b.salary))
from salarydtls b
where a.salary<=b.salary)
ans is for third highest sal
| Is This Answer Correct ? | 0 Yes | 3 No |
Answer / raman sharma
For third highest salary u can use this syntax
select min(cin) from ( select distinct cin from
cws.usertable order by cin desc ) where rownum<4
| Is This Answer Correct ? | 0 Yes | 3 No |
Answer / bala
-- to find third highest salary from emp table
select empname,empsal from emp a where 3 = (select count(*)
from emp b where a.empsal <= b.empsal);
| Is This Answer Correct ? | 6 Yes | 12 No |
Answer / sysdomain
'top' will fetch only top most : ie top 5 means it will
fetch first 5 rec. After fetching rec only 'order by' is
done ie sorting is done after fetching. therefore using
'top' and 'order by' alone wont get max or min value. for
that we have to use 'distinct' before 'top' along with
'order by' (which will sort
the records before fetching).
select top 1 salary from employee where salary in (select
distinct
top n salary from employee order by salary desc)
| Is This Answer Correct ? | 3 Yes | 9 No |
BY Tested in Postgres SQL : javedcc@gmail.com
select * from tablename as aliasname where (nth)= (select
count(sal) from tablename where aliasname.sal<=sal)
| Is This Answer Correct ? | 8 Yes | 16 No |
Answer / ganesh prasad
all are not working properly incase repeat salary
this one is correct
select min(deptsal) from dept where deptsal in ( select
distinct top 4 deptsal from dept order by deptsal desc)
| Is This Answer Correct ? | 6 Yes | 14 No |
how you can move data or databases between servers and databases in sql server? : Sql server administration
what are the critical issues you have resloved in your company
What is exclusive locks?
When setting replication, is it possible to have a publisher as 64 bit sql server and distributor or subscribers as a 32 bit sql server?
How to create a testing table with test data in ms sql server?
How do I connect to sql server database?
How to use old values to define new values in update statements in ms sql server?
List out a number of the wants to setup a SQL Server failover cluster?
What is 1nf normalization form?
How raid can influence database performance?
Explain error handling in ssis?
What is acid db?
Oracle (3259)
SQL Server (4518)
MS Access (429)
MySQL (1402)
Postgre (483)
Sybase (267)
DB Architecture (141)
DB Administration (291)
DB Development (113)
SQL PLSQL (3330)
MongoDB (502)
IBM Informix (50)
Neo4j (82)
InfluxDB (0)
Apache CouchDB (44)
Firebird (5)
Database Management (1411)
Databases AllOther (288)