LIMIT と OFFSET

LIMIT と OFFSET を使って、クエリで生成された行から一部を選択して取得できます。LIMIT と OFFSET の組み合わせによって、結果から任意の一部を選択して返す機能が提供されます。LIMIT は、返される結果を特定の数に制限する機能を持ちます。制限を超える数の行は返されません (クエリで得られた行が少ない場合は、制限を下回る数が返されます)。OFFSET は、クエリで生成された行から先頭の一定数の行を除外して返す機能を持ちます。OFFSET と LIMIT を両方とも定義すると、OFFSET で指定した数の行を飛ばしてから、LIMIT で指定した数の行が返されます。

(一定範囲の値を取得しようとして) LIMIT と OFFSET を使用する場合は、ORDER BY 句を使うことを強くお勧めします。これにより、結果行は一意の順序になるよう制約されます。そうしない場合は、クエリの行から予期できないサブセットが取得されます。

例えば、次の select 文は where 句フィルタを適用し、ORDER BY を使用して結果をソートし、結果の 50 行目からの 20 行を返します。



SELECT * from <NAMED_TABLE> WHERE <SOME_CONDITION> ORDER BY <COLUMN_NAME> LIMIT 20 OFFSET 50   

		

説明:

  • NAMED_TABLE は、クエリのデータ ソースで、名前付きテーブル形式です。
  • SOME_CONDITION は、有効な MI SQL の where 句条件です。
  • COLUMN_NAME は、テーブルの有効な列です。