ROWNUM详解

ROWNUM详解1 ROWNUM 是 oracle 系统顺序分配为从查询返回的行的编号 返回的第一行分配的是 1 第二行是 2 依此类推 这个伪字段可以用于限制查询返回的总行数 且 rownum 不能以任何表的名称作为前缀 注意 一旦进行排序操作 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 认为这种条件不成立。

小讯
上一篇 2025-04-10 15:53
下一篇 2025-01-16 14:11

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/36536.html