Hi,
Can anybody please explain me the flow of the below query.
I am not able to understand how this query works.
This query is for finding the Nth highest salary..
SELECT DISTINCT (a.sal)
FROM EMP A
WHERE &N = (SELECT COUNT (DISTINCT (b.sal)) FROM EMP B
WHERE a.sal<=b.sal);
If N = 2 then second highest salary will be the o/p.
If N = 3 then third highest salary will be the o/p.
and so on..
Thanks,
Nitin
Answer Posted / avi
Above Answer is correct With small modification that it is a
corelated sub query first it considers sal from a like a.sal
then it compares with all the sal in a sub query the result
will be the no. of counts.This count compares with N value
which matches will be the Nth sal.
| Is This Answer Correct ? | 5 Yes | 0 No |
Post New Answer View All Answers
Where do we use pl sql?
What is over () in sql?
what are date and time intervals? : Sql dba
Can a select statement fire a trigger?
What is trigger point?
What is ttitle and btitle?
What is consistency?
How do you write an inner join query?
Can primary key be changed?
can sql servers linked to other servers like oracle? : Sql dba
Does inner join return duplicate rows?
Why do we go for stored procedures?
what is primary key? : Sql dba
What is trigger in pl sql?
Why triggers are used?