Question: I want to select the number of rows which are greater than 3 by rownum function i\_e "(rownum>3)"
for example if there are 25 rows and I want to retrieve the last 22 rows by rownum function.
but when I write the 

```
select * from test_table where rownum>3;

```

it retrieve no row.
can any one help me to solve this problem.
thanks in advance

Answer: 
In RDBMS there is no first or last rows. What you calls "raws" , actually is set(sets), they can be ordered or not. `rownum` is a function, which is just enumerates result set, it makes sense only after set is calculated, to order your set of data (rows) you should do it in your query before `rownum` call, you must tell DB what means for the order in particular select statement.
```
select * from (select rownum as rn, t.* from test_table t) where rn > 3

```

see this article for more samples
[On Top-n and Pagination Queries By Tom Kyte](http://www.oracle.com/technetwork/issue-archive/2007/07-jan/o17asktom-093877.html)