ホームページ  >  記事  >  データベース  >  MySQL で LIMIT を指定した SELECT を使用するときに行をカウントするにはどうすればよいですか?

MySQL で LIMIT を指定した SELECT を使用するときに行をカウントするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-10 13:09:03449ブラウズ

How to Count Rows When Using SELECT with LIMIT in MySQL?

MySQL で LIMIT を指定した SELECT を使用する場合の行のカウント

MySQL では、SELECT クエリで LIMIT 句を使用すると、返される行数が制限されます。ただし、クエリに複雑なフィルタリング条件も含まれている場合は、LIMIT によって返されない場合でも、それらの条件を満たす行の合計数を知りたい場合があります。

これを実現するために、MySQL は 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();

このクエリ内:

  • 最初の SELECT ステートメントは SQL_CALC_FOUND_ROWS を使用して、基準に一致する行の合計数を計算するように MySQL に指示します。 .
  • 2 番目の SELECT ステートメントは、FOUND_ROWS() 関数を使用して、計算された行数を取得します。

このアプローチにより、LIMIT でページ分割された結果セットと完全な行の両方を取得できます。単一のデータベースクエリ内のカウント。 SQL_CALC_FOUND_ROWS は、同じ接続内で、FOUND_ROWS() 関数が呼び出される前に使用する必要があることに注意してください。

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

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