>I am using ORACLE 7.3 .
>
>I have one table "employee" with a column "sal" .
>I have inserted the data into the sal in random order.
>Now I want to retrive the rows from that table who draw the maximum salary. (sal).
>
>That is first 5 records after the list is selected by using "order by desc " clause.
>
>I want to use single SQL statement.
>
>some thing like this algorithm.
>
>select first 5 records from ("select sal from employee order by sal desc " )
>
>I tried to use rownum, count() etc. but in fail.
>
>I dont want to use Foxpro .
Hello Satya,
Try this
SELECT e.name, ,
(SELECT e1.sal
FROM employee AS e1
WHERE (blah - enter your 'where clause' here) ) AS rank
FROM employee AS e
WHERE rank <= 5;
This was taken from the Q&A section of an excellent site called the SQL PRO at
http://www.inquiry.com/techtips/thesqlpro/index.htmlSteve
Steve Peacocke
Development Team Leader
Prudential Assurance