LIMIT 節を使用すると、SELECT ステートメントで返されるレコード数を制限することができる。
LIMIT は 1 つまたは 2 つの数値引数を取る。これらの引数は整数定数でなければならない。

引数が 1 つの場合、その値は、戻り値として返す、結果セットの冒頭からのレコード数を表す。
引数が 2 つの場合、最初の引数は戻り値として返す最初のレコードまでのオフセットを表し、
2 つ目の引数は戻り値として返す最大レコード数を表す。最初のレコードのオフセット値は 0(1 ではない)。

mysql> select * from City limit 10; #Retrieve rows 0-10;
limit0

mysql> select * from City limit 5,10; #Retrieve rows 5-10;
limit5-10

全ての行を一定のオフセットから結果セットの最後まで検索するには、
2つめのパラメータに大きい数字を利用する事ができます。
このステートメントは96番目の行から最後まで全ての行を検索します。
mysql> select * from City LIMIT 95,18446744073709551615;

用意されたステートメントには、プレースホルダを利用する事ができます。
次のステートメントは tbl テーブルから行を1つ返します。


SET @a=1;
PREPARE STMT FROM 'SELECT * FROM City LIMIT ?';
EXECUTE STMT USING @a;

set

次のステートメントは tbl テーブルから2行目から6行目を返します。

SET @skip=1; SET @numrows=5;
PREPARE STMT FROM 'SELECT * FROM City LIMIT ?, ?';
EXECUTE STMT USING @skip, @numrows;

limit_1

参考サイト
12.2.7. SELECT 構文

Comments are closed.

Post Navigation