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

MySQL クエリで LIMIT を使用して行をカウントするにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-12 11:17:02773ブラウズ

How to Count Rows with LIMIT in MySQL Queries?

LIMIT を使用した MySQL クエリの行数のカウント

LIMIT 句を使用して MySQL クエリを実行する場合、ユーザーは多くの場合、合計行数を同時に取得するという課題に直面します。クエリ条件に一致する行の数。これは、特定の数の行のみを返すという LIMIT の制約により発生します。

この制限を克服するには、サブクエリ メソッドとして知られる手法を使用できます。これを実現するには、次の構文をクエリに組み込みます。

SELECT SQL_CALC_FOUND_ROWS ...;

このステートメントは SQL レベルで行のカウントを開始し、カウントを一時変数に保存します。

count を取得するには、後続のクエリを実行します:

SELECT FOUND_ROWS();

たとえば、次のクエリを考えてみましょう:

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

フィルタリングされた行と合計数の両方を取得するには、次のクエリを使用します。

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

この手法により、ユーザーは追加のクエリに頼ることなく、LIMIT 句を使用してクエリ内の行を効率的にカウントできるようになります。

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

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