OFFSET FETCH Clause
OFFSET
と FETCH
は、データを部分的に取得することを可能にします。これらは、一度のクエリで取得したい行のブロックを指定します。
offset_row_count
または fetch_row_count
の値は数値またはリテラル定数で指定できます。fetch_row_count
は省略可能で、デフォルトでは 1 になります。
OFFSET
は、クエリの結果セットから行を返す前にスキップする行数を指定します。
FETCH
は、クエリの結果に含まれる最大行数を指定します。
ONLY
オプションは、OFFSET
によって省略された行の直後に続く行を返す際に使用されます。この場合、FETCH
は LIMIT 句の代替となります。例えば、以下のクエリは
以下のクエリと同じです。
WITH TIES
オプションは、ORDER BY
句に従って結果セットの最後の位置に結びつく追加の行も返すために使います。例えば、fetch_row_count
が 5 に設定されている場合でも、5 行目の ORDER BY
カラムと一致する行が2つあった場合、結果セットには7行が含まれます。
注記
標準に従い、OFFSET
句は両方が存在する場合は FETCH
句の前に来る必要があります。
例
入力テーブル:
ONLY
オプションの使用:
結果:
WITH TIES
オプションの使用:
結果: