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 认为这种条件不成立。
上一篇: 如何解决php上传中文出现乱码的问题
下一篇: php 分页总数怎么获得