oracle分页查询与Rownum

ROWNUM:表示行号,实际上此是一个列,但是这个列是一个伪列,此列可以在每张表中出现。

范例:查询emp表带有rownum列

select rownum, t.* from emp t

我们可以根据rownum来取结果集的前几行,比如前5行

但是我们不能取到中间几行,因为rownum不支持大于号,只支持小于号,如果想 实现我们的需求怎么办呢?答案是使用子查询,也正是oracle分页的做法。

第一种写法:

select *

  from (select rownum rm, a.* from (select * from emp) a where rownum < 11) b where b.rm > 5

第二种写法:

select *

from (select rownum r ,emp.* from emp) b

where b.r >5 and b.r <11
原文地址:https://www.cnblogs.com/luzhanshi/p/13560099.html