how to check the 3rd max salary from an employee table? One
of the queries used is as follows:

select sal from emp a where 3=(select
count(distinct(sal)) from emp b
where a.sal<=b.sal).

Here in the sub query "select
count(distinct(sal)) from emp b
where a.sal<=b.sal" or
"select count(distinct(sal)) from emp b
where a.sal=b.sal" should reveal the same number of rows is
in't it? Can any one here please explain me how is this
query working perfectly.

However, there is another query to get the 3rd highest of
salaries of employees that logic I can understand. Pls find
the query below.
"select min(salary) from emp where salary in(select
distinct
top 3 salary from
emp order by salary desc)"

Please explain me how

"select sal from emp a where 3=(select
count(distinct(sal)) from emp b
where a.sal<=b.sal)" works

source:http://www.allinterview.com/showanswers/33264.html.

Thanks in advance
Regards,
Karthik.

Answer Posted / s.panda

select level,max(sal) from emp where level=&levelno
connect by prior sal>sal group by level

By entering the level no,Accordingly we can get the nth highest salay of a table.

Is This Answer Correct ?    1 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

what are the nonstandard string types? : Sql dba

608


Which query operators in sql is used for pattern matching?

546


What is the purpose of using pl/sql?

665


what are all the different types of indexes? : Sql dba

531


Is sql a dbms?

536






What found sql?

528


Which are the different character-manipulation functions in sql?

548


Are views faster than queries?

548


What is difference between pls_integer and integer?

521


what are the differences between char and nchar? : Sql dba

595


What is the difference between truncate and drop statements?

581


What is secondary key?

510


How insert into statements in sql?

595


how would you enter characters as hex numbers? : Sql dba

517


Can we group by two columns in sql?

507