Oracle实现分页,每页有多少条记录数
分页一直都是关系数据库的热门,在数据量非常多的情况下,需要根据分页展示,每页展示多少条记录,以此减轻数据的压力;
1实现原理,根据rownum取记录数,根据公式(页数-1)*每页想要展示的记录数 AND 页数*记录数,其中页数是变量,记录数是常量,ROWNUM为过滤字段。
下面的SQL实现了按页数去查记录,以及规定每页有多少条记录数;
SELECT T.* FROM
(SELECT ROWNUM AS RN,表名.* FROM 表名) T
WHERE RN BETWEEN ((页数-1)+1)*记录数 AND 页数*记录数;
例子:查询表DBA_USERS,表数据量一共有36条,需要分页,按每页12条展示,SQL如下:
SELECT &A,
RN,
USERNAME,
USER_ID,
DEFAULT_TABLESPACE
FROM (SELECT ROWNUM AS RN,
USERNAME,
USER_ID,
DEFAULT_TABLESPACE
FROM DBA_USERS)
WHERE RN BETWEEN ((&A - 1)+1) * 12 AND (&A) * 12;
当&A=1;
当&A=2: