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
Explain correlated query work?
what is an execution plan? When would you use it? How would you view the execution plan? : Sql dba
What is the difference between in and between in sql?
what are the advantages a stored procedure? : Sql dba
what is meant by urlencode and urldocode? : Sql dba
how to create a new table in mysql? : Sql dba
What does select * from mean in sql?
What is rank () in sql?
Why do we use partitions in sql?
What is the difference between rollback and rollback to statements?
how many columns can be used for creating index? : Sql dba
what is online transaction processing (oltp)? : Sql dba
what is cursor. write example of it. What are the attributes of cursor.
how can we find the number of rows in a table using mysql? : Sql dba
What are the different types of dbmss?