mysql では、limit キーワードは主に、クエリ結果の表示を開始するレコードと、合計で表示されるレコード数を指定するために使用されます。使用構文は 3 つあります: "LIMIT 初期位置、レコード数"、"LIMIT レコード数"、および "LIMIT レコード数 OFFSET 初期位置"。
このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。
データ テーブルに数万のデータがある場合、テーブル内のすべてのデータを一度にクエリすると、データが返される速度が低下し、データベース サーバーに多大な負荷がかかります。現時点では、LIMIT キーワードを使用して、返されるクエリ結果の数を制限できます。
LIMIT は MySQL の特別なキーワードで、クエリ結果の表示を開始するレコードと合計で表示されるレコード数を指定するために使用されます。
LIMIT キーワードは、初期位置を指定する、初期位置を指定しない、OFFSET と組み合わせて使用する 3 つの方法で使用できます。
初期位置の指定
LIMIT キーワードでは、クエリ結果の表示を開始するレコードと、表示するレコードの数を指定できます。
LIMIT 初期位置を指定する基本的な構文形式は以下のとおりです:
LIMIT 初始位置,记录数
このうち、「初期位置」はどのレコードから表示を開始するかを示し、「レコード数」は表示を開始するレコードの数を示します。表示されたレコード。最初のレコードは位置 0 にあり、2 番目のレコードは位置 1 にあります。後続のレコードは順番に推定されます。
注: LIMIT の後の 2 つのパラメーターは正の整数である必要があります。
例 1
tb_students_info テーブルで、LIMIT 句を使用して 4 番目のレコードから始まる 5 つのレコードを返します。SQL ステートメントと実行結果は次のとおりです。
mysql> SELECT * FROM tb_students_info LIMIT 3,5; +----+-------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+-------+---------+------+------+--------+------------+ | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 | | 6 | John | 2 | 21 | M | 172 | 2015-11-11 | | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 | | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 | +----+-------+---------+------+------+--------+------------+ 5 rows in set (0.00 sec)
結果からわかるように、このステートメントは 4 番目のレコードから始まる次の 5 レコードを返します。 LIMIT キーワードの後の最初の数字「3」は 4 行目から開始することを意味し (記録位置は 0 から始まり、4 行目の位置は 3)、2 番目の数字 5 は返される行数を意味します。
初期位置を指定しないでください
LIMIT キーワードで初期位置を指定しない場合、最初のレコードから表示されます。 。表示されるレコードの数は、LIMIT キーワードで指定されます。
初期位置を指定しないLIMITの基本構文形式は以下のとおりです。
LIMIT 记录数
このうち、「レコード数」は表示されるレコード数を示します。 「レコード数」の値がクエリ結果の総数より小さい場合は、先頭レコードから指定した数のレコードが表示されます。 「レコード数」の値がクエリ結果の総数より大きい場合は、クエリされたすべてのレコードが直接表示されます。
例 2
tb_students_info テーブルのクエリ結果の最初の 4 行を表示します。SQL ステートメントと実行結果は次のとおりです。
mysql> SELECT * FROM tb_students_info LIMIT 4; +----+-------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+-------+---------+------+------+--------+------------+ | 1 | Dany | 1 | 25 | F | 160 | 2015-09-10 | | 2 | Green | 3 | 23 | F | 158 | 2016-10-22 | | 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 | | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | +----+-------+---------+------+------+--------+------------+ 4 rows in set (0.00 sec)
結果には 4 レコードのみが表示されます。これは、「LIMIT 4」が表示されるレコードの数を 4 に制限することを示しています。
例 3
tb_students_info テーブルのクエリ結果の最初の 15 行を表示します。SQL ステートメントと実行結果は次のとおりです。
mysql> SELECT * FROM tb_students_info LIMIT 15; +----+--------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+--------+---------+------+------+--------+------------+ | 1 | Dany | 1 | 25 | F | 160 | 2015-09-10 | | 2 | Green | 3 | 23 | F | 158 | 2016-10-22 | | 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 | | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 | | 6 | John | 2 | 21 | M | 172 | 2015-11-11 | | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 | | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 | | 9 | Thomas | 3 | 22 | M | 178 | 2016-06-07 | | 10 | Tom | 4 | 23 | M | 165 | 2016-08-05 | +----+--------+---------+------+------+--------+------------+ 10 rows in set (0.26 sec)
結果には 10 レコードのみが表示されます。 LIMIT キーワードでは 15 レコードを表示するように指定されていますが、クエリ結果には 10 レコードしかありません。したがって、データベース システムは 10 件のレコードすべてを表示します。
LIMIT を 1 つのパラメータで指定すると、クエリ結果の最初の行から開始することが指定されます。唯一のパラメータは返される行数を示します。つまり、「LIMIT n」と「LIMIT 0, n」は同じ結果を返します。 2 つの引数を指定した LIMIT は、任意の位置から始まる指定された行数のデータを返します。
LIMIT は OFFSET と組み合わせて使用されます
LIMIT は OFFSET と組み合わせて使用できます。構文形式は次のとおりです:
LIMIT 记录数 OFFSET 初始位置
パラメータと LIMIT 構文内のパラメータは同じ意味を持ち、「初期位置」は表示を開始するレコードを指定し、「レコード数」は表示するレコードの数を示します。
例 4
tb_students_info テーブルで、LIMIT OFFSET を使用して 4 番目のレコードから始まる 5 つのレコードを返します。SQL ステートメントと実行結果は次のとおりです。
mysql> SELECT * FROM tb_students_info LIMIT 5 OFFSET 3; +----+-------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+-------+---------+------+------+--------+------------+ | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 | | 6 | John | 2 | 21 | M | 172 | 2015-11-11 | | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 | | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 | +----+-------+---------+------+------+--------+------------+ 5 rows in set (0.00 sec)
結果からわかるように、このステートメントは 4 番目のレコードから始まる次の 5 レコードを返します。つまり、「LIMIT 5 OFFSET 3」は、4 レコード目から次の 5 レコードを取得することを意味し、「LIMIT 3, 5」で返される結果と同じになります。
[関連する推奨事項: mysql ビデオ チュートリアル ]
以上がmysqlでのlimitの使用法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。