ホームページ > データベース > mysql チュートリアル > MySQL で LIMIT を使用しているときに合計行数をカウントするにはどうすればよいですか?

MySQL で LIMIT を使用しているときに合計行数をカウントするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-12 00:02:03
オリジナル
881 人が閲覧しました

How to Count Total Rows While Using LIMIT in MySQL?

MySQL での SELECT と LIMIT を使用した行のカウント

MySQL では、LIMIT 句を使用して、関数によって返される行数を制限できます。クエリ。ただし、LIMIT を使用する場合、クエリ条件を満たすテーブル内の行の総数を取得することも困難になる可能性があります。

2 つのテーブル間の結合から最初の 10 行を取得する次のクエリについて考えてみましょう。 、table1 および table2、特定の条件 (cond1、cond2、...、condN) に基づいて:

SELECT A.ID, A.NAME, B.ID, B.NAME
FROM table1 A
JOIN table2 B ON ( A.ID = B.TABLE1_ID )
WHERE
    cond1, cond2, ..., condN
LIMIT 10
ログイン後にコピー

の合計数を取得するにはLIMIT なしで別のクエリを発行せずにこれらの条件を満たす行を取得するには、MySQL が SQL_CALC_FOUND_ROWS キーワードを提供します。 SQL_CALC_FOUND_ROWS を最初のクエリに組み込むことにより、MySQL は LIMIT 句を適用する前に合計行数を計算します。

SELECT SQL_CALC_FOUND_ROWS A.ID, A.NAME, B.ID, B.NAME
FROM table1 A
JOIN table2 B ON ( A.ID = B.TABLE1_ID )
WHERE
  cond1, cond2, ..., condN
LIMIT 10
ログイン後にコピー

このクエリの実行後、次の別のクエリを使用して合計行数を取得できます。

SELECT FOUND_ROWS();
ログイン後にコピー

これら 2 つのクエリを組み合わせることで、返される行数を制限し、合計行数を取得することができます。追加のクエリが必要です。

以上がMySQL で LIMIT を使用しているときに合計行数をカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート