ホームページ >データベース >mysql チュートリアル >MySQL で LIMIT を使用しているときに合計行数をカウントするにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。