ホームページ >バックエンド開発 >PHPチュートリアル >オフセットと制限を使用して MySQL の合計結果数を確認するにはどうすればよいですか?

オフセットと制限を使用して MySQL の合計結果数を確認するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-23 10:56:30871ブラウズ

How to Determine the Total Result Count in MySQL with Offset and Limit?

MySQL のオフセットと制限を使用した合計結果数の決定

オフセットと制限を使用してページネーションを実装する場合、結果の合計数を決定することが重要です必要なページ数を計算します。クエリを 2 回 (LIMIT ありとなしで 1 回) 実行するのは冗長に見えるかもしれませんが、より良い方法があります。

MySQL では、SQL_CALC_FOUND_ROWS を使用して追加のクエリを行わずに結果の総数を取得する方法が提供されています。このキーワードをメイン クエリの前に追加すると、MySQL は LIMIT 句がなければ返される行の総数を計算します。

例を次に示します。

<code class="sql">SELECT SQL_CALC_FOUND_ROWS *
FROM directory_listing
WHERE category_id = <category_id>
LIMIT offset, limit;</code>

このクエリを実行した後、次のコードを使用して、結果の合計数を取得できます:

$query = $this->db->query('SELECT FOUND_ROWS() AS total_count;');
$total_count = $query->first_row()->total_count;

このアプローチにより、追加のクエリを実行せずに合計数を効率的に取得できます。 SQL_CALC_FOUND_ROWS を利用すると、ページネーション機能のパフォーマンスとリソース使用率を向上させることができます。

以上がオフセットと制限を使用して MySQL の合計結果数を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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