欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ROWNUM详解

程序员文章站 2022-04-04 13:04:57
...

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 认为这种条件不成立。

相关标签: ORACLE ROWNUM