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
what is the use of set statement in tsql? : Transact sql
Does a join table need a primary key?
what is the use of anchoring object? what r the difference between anchoring object & enclosing object? can any one tell me all the details?
What is output spooling in sql*plus?
What are the types of variables use in pl sql?
How many sectors are in a partition?
When should I use nosql database?
What does count (*) do in sql?
Explain the uses of database trigger.
Explain the advantages and disadvantages of stored procedure?
What are the steps for performance tuning.
what are the non-standard sql commands supported by 'mysql'? : Sql dba
What is function and procedure?
What is time based sql injection?
What is crud sql?