select top 3 sal from each dept?

Answer Posted / divakarreddy

SQL> select *from (select ename,sal,deptno,rank()
2 over(partition by deptno order by sal desc)topsal
3 from emp)
4 where topsal<=3
5 order by deptno,sal desc;

ENAME SAL DEPTNO TOPSAL
---------- ---------- ---------- ----------
KING 5000 10 1
MILLER 3000 10 2
CLARK 2450 10 3
SCOTT 3000 20 1
JONES 2975 20 2
ADAMS 1100 20 3
BLAKE 2850 30 1
ALLEN 1600 30 2
TURNER 1500 30 3

9 rows selected.

Is This Answer Correct ?    0 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Why do we use procedures in pl sql?

722


Does oracle use sql?

687


What is a common use of group by in sql?

793


What is sharding in sql?

738


What is data profiling in sql?

748






how do you control the max size of a heap table? : Sql dba

704


Can ddl statements be used in pl/sql?

795


What are stored procedures in mysql?

767


what is meant by nl2br()? : Sql dba

766


Why indexing is needed?

734


What is data control language (dcl)?

790


How do I quit sql?

688


What is the need of merge statement?

766


What is data modelling in sql?

712


Which sql statement is used to return only different values?

716