Oracle分页详解
分页步骤 使用子查询的方式来做 因为rownum 不支持大于号
–1.查询全量的数据
select * from emp;
–2.第二步以第一步的结果集作为一张表,限定条件是rownum小于结束行号,结果列把rownum作为结果集
select rownum rw,a.* from (select * from emp) a where rownum < 6;–第一页
–3.第三步以第二步的结果集作为一张表,限定条件是第二步的rownum的列大于开始行行号,结果集是*
select * from (select rownum rw,a.* from (select * from emp) a where rownum < 11) b where b.rw > 5;–第二页
select * from (select rownum rw,a.* from (select * from emp) a where rownum < 16) b where b.rw > 10;–第三页
pageNo:当前的页码 已知
pageSize:每页记录数 已知
startNum:开始行号 未知
endNum:结束行号 未知
pageNo pageSize startNum endNum
1 5 0 6
2 5 5 11
3 5 10 16
startNum = (pageNo -1)*pageSize;
endNum = pageNo*pageSize + 1;