how to retrieve the top 3 salaries of the table using rownum
Answers were Sorted based on User's Feedback
Answer / chandrasekar.ramasamy
select sal from( select rownum,e.* from empmaster e order
by sal desc) where rownum < 4
| Is This Answer Correct ? | 20 Yes | 7 No |
Answer / dhiman sarkar
select empname,sal from (select empname,sal from dh1 order
by sal desc)
where rownum < =4
order by sal desc
| Is This Answer Correct ? | 17 Yes | 7 No |
Answer / kalyan kumar
select e.ename,e.sal from emp e where 3>(select count
(distinct(b.sal)) from emp b where b.sal>e.sal)
| Is This Answer Correct ? | 19 Yes | 10 No |
Answer / vik
select empno, ename, sal from (select * from emp order by
sal desc) where rownum < 4
| Is This Answer Correct ? | 8 Yes | 1 No |
Answer / nilesh
You can also use a query like
select e.ename,e.sal from emp e where 3>(select count
(distinct(b.sal)) from emp b where b.sal>e.sal)
as explained by Kalyan Kumar in Answer 2 and for making
it parameterised u can replace 3 by &sal so that when it is
executed it will ask you a number
if you enter 3 it will give you best three salaries , if
you enter 4 it will give you best 4 salaries etc.
| Is This Answer Correct ? | 9 Yes | 3 No |
Answer / rameshwar gupta
select ename ,sal from (select ename,sal from emp order
by sal desc)
where rownum<4
| Is This Answer Correct ? | 8 Yes | 3 No |
Answer / moorthy(information dynamic)
select sal,rank()over (order by sal desc) from emp where
rownum < = 3;
| Is This Answer Correct ? | 3 Yes | 0 No |
Answer / nitesh
select sal from emp e where 3>=(select count(distinct sal)
from emp where sal>e.sal) order by sal desc;
| Is This Answer Correct ? | 5 Yes | 3 No |
Answer / akki julak
select sal from (select rownum,sal from emp order by sal
desc)
where rownum<4;
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / swapnareddy
select sal from emp a where 3>(select
count(distinct(sal))from emp b where a.sal<b.sal);
| Is This Answer Correct ? | 4 Yes | 3 No |
Can we use pl sql in mysql?
there is A table and B table in A table there 5 rows and in b table there are 2 rows i am firing query select * from a,b what will be the output?
What is use of package in pl sql?
Is inner join same as self join?
How will you debug your procedure? If your procedure is around 2000 lines and the expected output is 10 and we get only output 5.So how will you debug it? Somebody pls give the correct answer?
How many functions are there in sql?
What is the purpose of the sql select top clause?
What is an Exception ? What are types of Exception ?
What is file based approach?
select * from emp where sal in(select max(sal) from emp) here there is any limit for in operator how many values accpect ?
How would you pass hints to the sql processor?
1) Synonyms 2) Co-related Subquery 3) Different Jobs in Plsql 4) Explain Plan 5) Wrap 6) Query Optimization Technique 7) Bulk Collect 8) Types of index 9) IF primary key is created then the index created ? 10) Foreign Key 11) Exception Handling 12) Difference Between Delete and Trunc 13) Procedure Overloading 14) Grant Revoke 15) Procedure Argument types. 16) Functions. 17) Joins
Oracle (3259)
SQL Server (4518)
MS Access (429)
MySQL (1402)
Postgre (483)
Sybase (267)
DB Architecture (141)
DB Administration (291)
DB Development (113)
SQL PLSQL (3330)
MongoDB (502)
IBM Informix (50)
Neo4j (82)
InfluxDB (0)
Apache CouchDB (44)
Firebird (5)
Database Management (1411)
Databases AllOther (288)