在oracle中,分页查询与MySQL有所不同
select * from eb_item where rownum < 11
rownum只有小于查询,大于查询就会报错
所以可以将所有的rownum查询出来,用新列rw储存起来作为一个新表,这样子有数据就可以大于查询了
第一步
select * from eb_item
查询所有的数据
第二步
select rownum rw, a.* from
(select * from eb_item) a
where rownum < 11
以第一步的结果集作为一张表来查询,条件是rownum小于结束的行号,结果集是新增RW列(值为rownum)和第一步的所有数据
第三步
select * from
(select rownum rw, a.* from
(select * from eb_item) a
where rownum < 21) b
where b.rw > 10
以第二步的结果集作为一张表,条件是分页的区间开始的行号,结果集为*
因为我们在第二步中已经将20行的数据都查出来了,所以可以使用大于号来筛选