SELECT * FROM
(SELECT TITLE FROM MOVIE ORDER BY RANK DESC)
WHERE ROWNUM > 4;
when i run the above query .it produces output as NO ROWS
SELECTED.why ?plz any one help me
Answers were Sorted based on User's Feedback
Answer / rachita
This is because you cannot use > operator with Top-N
Analysis.The operator which is used is only < less-then and
<= less-then-equal-to .You can also use = operator but only
for retrieving the top most value .
| Is This Answer Correct ? | 13 Yes | 1 No |
Answer / vamsi krishna
the reason behind this is rownum will be generated only
after selecting the row from the table.hence when you are
using inline views ,the outer select statement is having a
rownum and inner select statement is having a rownum,so due
to the ambiguity your query is not working.
i give the following change to ur query.
SELECT * FROM
(SELECT rownum as r1,TITLE FROM MOVIE )
WHERE r1 > 4;
| Is This Answer Correct ? | 5 Yes | 4 No |
Answer / dinesh a.
you can't use rownum > 4 ( you can use only rownum <
clause). not in inner query or inline view even in normal
query.
select empno from emp where rownum > 5 ..
The output you will get NO ROWS always ....
so the magic is only order by clause asc or desc pls see
below
suppose we have a table x with one column col1 and values
are 1 to 10...
SELECT rownum,rank,col1 FROM
(SELECT rownum rank,col1 FROM x ORDER BY col1 desc)
WHERE ROWNUM <= 6 /* last six rows mean > 4 */
/
ROWNUM RANK COL1
------ ---------- ----------
1 10 10
2 9 9
3 8 8
4 7 7
5 6 6
6 5 5
1 SELECT rownum,rank,col1 FROM
2 (SELECT rownum rank,col1 FROM x ORDER BY col1 asc)
3* WHERE ROWNUM <= 4 /* first 4 rows */
SQL> /
ROWNUM RANK COL1
---------- ---------- ----------
1 1 1
2 2 2
3 3 3
4 4 4
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / obed
You donot use '>4' for comparing
you must use '<=4'
if u used >4 its will not return any row because there in
no row is select >
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / mohan
select * from movie where rownum>4(select title from movie
rank()over(order by title desc);
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / imran raza
ORDER BY Clause inside Inline View is not permissible.So in
query (SELECT TITLE FROM MOVIE ORDER BY RANK DESC)it should
be only SELECT TITLE FROM MOVIE .
Moreover Order by can be used by specifying the name (
selected row) of coloumn in order by clause.
Instead of names numbers can also be used.ie Order by 1.
| Is This Answer Correct ? | 1 Yes | 1 No |
How to assign data of the deleted row to variables?
A VIEWS takes memory in the database. If yes, how can u proove it? is there any way to display the size of views?
how to get the index id?
What is oracle server autotrace in oracle?
How to use "if" statements on multiple conditions?
How to create a new view in oracle?
What is a cursor in oracle?
What is Parallel Server ?
what is the difference between primary key & foreign key?
57 Answers CTS, Infosys, La Multi, Sparsh, Wipro,
What are various constraints used in SQL?
I am using an Oracle 8i Database my data contains Clob data. I am using toad version 7.6 i am able to get the data in toad but unable to extract the data in excel.when trying to extract the data into the excel the toad error says out of memory. Can any body please help me to extract the data through the same toad version. Thanks in advance
9. Display the client name and order date for all orders using the JOIN . . . USING method.