在Oracle中,可以使用ROWNUM
實現分頁查詢。
SELECT *
FROM (
SELECT t.*, ROWNUM AS rn
FROM (
-- 原始查詢語句
SELECT *
FROM your_table
-- 其他篩選條件和排序方式
WHERE ...
ORDER BY ...
) t
WHERE ROWNUM <= :pageSize * :pageNumber -- 每頁顯示的記錄數 * 當前頁碼
)
WHERE rn > :pageSize * (:pageNumber - 1) -- 每頁顯示的記錄數 * (當前頁碼 - 1)
:pageSize
表示每頁顯示的記錄數。
:pageNumber
表示當前頁碼。
假設每頁顯示10條記錄,要查詢第2頁的數據,可以將:pageSize
設置為10,:pageNumber
設置為2。
注意,Oracle中的ROWNUM
是在查詢結果返回之后再進行排序的,因此需要在內部嵌套一層子查詢,然后使用ROWNUM
進行篩選。