两种实现 第一种用伪列rownum做子查询 假定每页20条记录 第一页: select cola, colb, colc from tab_name where rownum <= 1*20 第二页: select cola, colb, colc from (select cola, colb, colc, rownum as num from tab_name where rownum <= 2*20) where num > 1*20 第N页: select cola, colb, colc from (select cola, colb, colc, rownum as num from tab_name where rownum <= N*20) where num > (N-1)*20 第二种用伪列做集合运算minus select cola, colb, colc from tab_name where rownum <= N*20 minus select cola, colb, colc from tab_name where rownum <= (N-1)*20 第一种大概高效一些,针对实际测试一下吧。
select col1,col2,... from (select col1,col2,..., rownum as num from tab_name where rownum <= N*pagesize) where num > (N-1)*pagesize
第一种用伪列rownum做子查询
假定每页20条记录
第一页:
select cola, colb, colc from tab_name where rownum <= 1*20
第二页:
select cola, colb, colc from
(select cola, colb, colc, rownum as num from tab_name where rownum <= 2*20)
where num > 1*20
第N页:
select cola, colb, colc from
(select cola, colb, colc, rownum as num from tab_name where rownum <= N*20)
where num > (N-1)*20
第二种用伪列做集合运算minus
select cola, colb, colc from tab_name where rownum <= N*20
minus
select cola, colb, colc from tab_name where rownum <= (N-1)*20
第一种大概高效一些,针对实际测试一下吧。
(select col1,col2,..., rownum as num from tab_name where rownum <= N*pagesize)
where num > (N-1)*pagesize