oracle 數(shù)據(jù)庫分頁利用 rownum 偽列或 fetch 語句實現(xiàn):rownum 偽列用于通過行號過濾結果,適用于復雜查詢。fetch 語句用于獲取指定數(shù)量的第一行,適用于簡單查詢。
Oracle 數(shù)據(jù)庫分頁機制
在 Oracle 數(shù)據(jù)庫中,可以使用 ROWNUM 偽列或 FETCH 語句來實現(xiàn)分頁。
ROWNUM 偽列
語法:
SELECT * FROM table_name WHERE ROWNUM * <page_number></page_number>
登錄后復制
說明:
ROWNUM 是一個偽列,表示當前行的行號。
page_size 是每頁的行數(shù)。
page_number 是要獲取的頁數(shù)。
例如:
獲取第 2 頁,每頁 5 行的數(shù)據(jù):
SELECT * FROM table_name WHERE ROWNUM <p><strong>FETCH 語句</strong></p><p><strong>語法:</strong></p><pre class="brush:php;toolbar:false">FETCH FIRST <page_size> ROWS ONLY FROM table_name</page_size>
登錄后復制
說明:
FETCH 語句返回指定數(shù)量的第一行。
page_size 是每頁的行數(shù)。
例如:
獲取第二頁,每頁 5 行的數(shù)據(jù):
FETCH FIRST 5 ROWS ONLY FROM table_name OFFSET 5 ROWS
登錄后復制
選擇分頁方法
如果需要在查詢中進行復雜的過濾或排序,則使用 ROWNUM 偽列。
如果只需要獲取指定數(shù)量的第一行(不進行復雜的過濾或排序),則使用 FETCH 語句。