Oracle ページネーション クエリの例:
SELECT * FROM ( SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM <= 40 ) WHERE RN >= 21
21行目から40行目を問い合わせるという意味です
最も内側のクエリ SELECT * FROM TABLE_NAME は、ページめくりのない元のクエリ ステートメントを表します。ROWNUM = 21 は、ページ分割されたクエリのページあたりの範囲を制御します。
上記のページング クエリ ステートメントは、ほとんどの場合、より効率的です。ページングの目的は、出力結果セットのサイズを制御し、できるだけ早く結果を返すことです。上記のページング クエリ ステートメントでは、この考慮事項は
主に WHERE ROWNUM に反映されています。
21 番目から 40 番目のレコードを選択するには 2 つの方法があり、1 つは、上記の例で示したクエリの 2 層目で ROWNUM<= 40 によって最大値を制御し、クエリの最外層で最小値を制御する方法です。もう 1 つの方法は、クエリの第 2 層の WHERE ROWNUM<=40 ステートメントを削除し、クエリの最外層でページングの最小値と最大値を制御することです。
私はオラクルを使ったことがありません、私はそれをコピーして記録しました