ホームページ >データベース >mysql チュートリアル >MySQL クエリで「LIMIT」を使用する場合、どのようにして合計行数を取得しますか?

MySQL クエリで「LIMIT」を使用する場合、どのようにして合計行数を取得しますか?

DDD
DDDオリジナル
2024-11-13 05:50:02664ブラウズ

How Do You Get the Total Row Count When Using `LIMIT` in MySQL Queries?

MySQL クエリで LIMIT にもかかわらず行数を検索する

MySQL クエリで LIMIT 句を使用すると、返される行数を制限できます。しかし、クエリに一致する行の合計数も取得する必要がある場合はどうすればよいでしょうか?

LIMIT 句と行数を使用したクエリ

クエリを取得する次のクエリを考えてみましょう。 JOIN を使用した 2 つのテーブルの行のサブセット:

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

このクエリは最初の 10 行を返します指定された条件を満たす行。

SQL_CALC_FOUND_ROWS を使用した解決策

合計行数を取得するには、LIMIT 句と組み合わせて SQL_CALC_FOUND_ROWS 関数を使用できます。

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();

SQL_CALC_FOUND_ROWS 関数は内部行数を設定しますLIMIT 句を使用してクエリを実行する前に変数を変更します。次に、FOUND_ROWS() 関数は、LIMIT がなければ返される行の総数を表すこの変数の値を取得します。

この手法を使用すると、制限された行のサブセットと、追加のクエリを必要とせずに合計行数を取得できます。

以上がMySQL クエリで「LIMIT」を使用する場合、どのようにして合計行数を取得しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。