MySQL リミットとオフセットの例

LIMITキーワードとは何ですか?

limit キーワードは、クエリ結果で返される行数を制限するために使用されます。

SELECT、UPDATE、または DELETE コマンドの LIMIT キーワード構文と組み合わせて使用​​できます。

LIMIT キーワードの構文は次のとおりです。

SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT  N;

Pr_media

  • 「SELECT {フィールド名 | *} FROM tableName(s)”SELECTステートメント クエリで返したいフィールドが含まれています。
  • 「[WHERE条件]」 はオプションですが、指定すると、結果セットのフィルターを指定するために使用できます。
  • 「リミットN」 がキーワードであり、 N は 0 から始まる任意の数値です。制限として 0 を指定すると、クエリにレコードは返されません。 たとえば 5 という数字を入力すると、XNUMX つのレコードが返されます。 指定したテーブル内のレコードが N 未満の場合、クエリされたテーブルのすべてのレコードが結果セットに返されます。

例を見てみましょう –

SELECT *  FROM members LIMIT 2;
membership_ number full_ names gender date_of _birth date_of _registration physical_ address postal_ address contact_ number email credit_ card_ number
1 Janet Jones Female 21-07-1980 NULL First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm NULL
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL jj@fstreet.com NULL

上のスクリーンショットからわかるように、返されたメンバーは XNUMX 人だけです。

データベースからのみ 10 人のメンバーのリストを取得する

Myflix データベースから最初の 10 人の登録メンバーのリストを取得したいとします。これを実現するには、次のスクリプトを使用します。

SELECT *  FROM members LIMIT 10;

上記のスクリプトを実行すると、以下に示す結果が得られます。

membership_ number full_ names gender date_of _birth date_of _registration physical_ address postal_ address contact_ number email credit_ card_ number
1 Janet Jones Female 21-07-1980 NULL First Street Plot No 4 Private Bag 0759 253 542 janetjones@yagoo.cm NULL
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL jj@fstreet.com NULL
3 Robert Phil Male 12-07-1989 NULL 3rd Street 34 NULL 12345 rm@tstreet.com NULL
4 Gloria Williams Female 14-02-1984 NULL 2nd Street 23 NULL NULL NULL NULL
5 Leonard Hofstadter Male NULL NULL Woodcrest NULL 845738767 NULL NULL
6 Sheldon Cooper Male NULL NULL Woodcrest NULL 976736763 NULL NULL
7 Rajesh Koothrappali Male NULL NULL Woodcrest NULL 938867763 NULL NULL
8 Leslie Winkle Male 14-02-1984 NULL Woodcrest NULL 987636553 NULL NULL
9 Howard Wolowitz Male 24-08-1981 NULL SouthPark P.O. Box 4563 987786553 lwolowitz[at]email.me NULL

LIMIT 句の N がテーブル内の総レコード数より大きいため、クエリでは 9 つのメンバーのみが返されたことに注意してください。

上記のスクリプトを次のように書き直すと、

SELECT *  FROM members LIMIT 9;

クエリ結果セットには 9 行のみが返されます。

LIMITクエリでのOFF SETの使用

当学校区の オフセット value は、LIMIT キーワードと一緒に使用されることが最も多いです。 OFF SET 値を使用すると、データの取得をどの行から開始するかを指定できます。

行の中央から開始して限られた数のメンバーを取得したいとします。これを実現するには、LIMIT キーワードとオフセット値を併用します。 以下に示すスクリプトは 2 行目からデータを取得し、結果を XNUMX に制限します。

SELECT * FROM `members` LIMIT 1, 2;

上記のスクリプトを実行すると、 MySQL myflixdb に対するワークベンチでは次の結果が得られます。

membership_ number full_ names gender date_of _birth date_of _registration physical_ address postal_ address contact_ number email credit_ card_ number
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL jj@fstreet.com NULL
3 Robert Phil Male 12-07-1989 NULL 3rd Street 34 NULL 12345 rm@tstreet.com NULL

Note that here OFFSET = 1 Hence row#2 is returned & Limit = 2, Hence only 2 records are returned

LIMIT キーワードはどのような場合に使用する必要がありますか?

myflixdb 上で実行されるアプリケーションを開発していると仮定します。システム設計者から、読み込み時間の遅さに対処するために、ページに表示されるレコード数を 20 ページあたり 20 件に制限するように依頼されました。このようなユーザー要件を満たすシステムを実装するにはどうすればよいでしょうか。このような状況では、LIMIT キーワードが役立ちます。クエリから返される結果を XNUMX ページあたり XNUMX 件に制限できます。

製品概要

  • の LIMIT キーワードは、結果セットから返される行数を制限するために使用されます。
  • LIMIT 数値には、ゼロ (0) から始まる任意の数値を指定できます。 制限としてゼロ (0) を指定すると、結果セットから行は返されません。
  • OFF SET 値を使用すると、データの取得をどの行から開始するかを指定できます。
  • SELECT、UPDATE、または DELETE コマンドの LIMIT キーワード構文と組み合わせて使用​​できます。