分頁一直都是關系數據庫的熱門,在數據量非常多的情況下,需要根據分頁展示,每頁展示多少條記錄,以此減輕數據的壓力;
1實現原理,根據rownum取記錄數,根據公式(頁數-1)*每頁想要展示的記錄數 AND 頁數*記錄數,其中頁數是變量,記錄數是常量,ROWNUM為過濾字段。
下面的SQL實現了按頁數去查記錄,以及規定每頁有多少條記錄數;
SELECT T.* FROM
(SELECT ROWNUM AS RN,表名.* FROM 表名) T
WHERE RN BETWEEN (頁數-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) * 12 AND (&A) * 12;
當&A=1;
當&A=2: