ROWNUM详解

1.  ROWNUM是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,

依此类推,这个伪字段可以用于限制查询返回的总行数,且rownum不能以任何表的名称作为前缀。 

注意:一旦进行排序操作,ROWNUM发生变化

只能用子

查询

来实现先排序,

rownum

2.查找表中第一行记录:

select * from temp where rownum = 1;

注意:无法查到rownum = n(n>1的自然数)

3查找表中大于第n行记录:需要将rownum 起别名,实现由伪列变成表主列

select *  from (

select rownum no from temp

) where no > 2;

4.查找表中小于第n条记录:

对于rownum<n((n>1的自然数)的条件认为是成立的

select * from temp where rownum < 2;

5.分页实现:

select *  from (

select rownum no from temp  where  rownum  < 15

) where no >= 1;

6.对于有排序的分页 :只能用子查询来实现先排序,后rownum

select * from

(   select rownum r,a from yourtable  where rownum <= 20 

order by name ) 

where r > 10 ;

补充:对于rownum只能用以上符号(<、<=、!=),
不能用:>,>=,=,Between...and。由于rownum是一个总是从1开始的伪列,Oracle 认为这种条件不成立。

猜你喜欢

转载自201304142221.iteye.com/blog/2279202
今日推荐