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 would you troubleshoot blocking? : Sql server database administration
What are the differences between substr and charindex in sql server.
What are dml (data manipulation language) statements in ms sql server?
What is an example of a primary key?
What does the automatic recovery do?
Do you know what is recursion? Is it possible for a stored procedure to call itself or recursive stored procedure?
Why are you getting errors when creating a new odbc dsn?
How do you manipulate data?
How do you find the number of rows in a table?
What is a data collection table?
explain databases and sql server databases architecture? : Sql server database administration
How to optimize stored procedures in sql server?
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)