MySQL で複数のテーブルから COUNT(*) を結合する
MySQL では、サブクエリの組み合わせ。その方法は次のとおりです。
行をカウントするテーブルごとに、COUNT(*) を選択するサブクエリを作成します。
<code class="sql">(SELECT COUNT(*) FROM table1 WHERE someCondition) AS table1Count</code>
これらのサブクエリをメインの SELECT ステートメントに結合して、カウントを取得します:
<code class="sql">SELECT (SELECT COUNT(*) FROM table1 WHERE someCondition) AS table1Count, (SELECT COUNT(*) FROM table2 WHERE someCondition) AS table2Count, (SELECT COUNT(*) FROM table3 WHERE someCondition) AS table3Count</code>
これは、対応するテーブル内の行数を表す 3 つの列を持つテーブルを返します。
例:
次のテーブルと条件があるとします。
<code class="sql">table1: WHERE someCondition = True table2: WHERE someCondition = False table3: WHERE someCondition = True</code>
上記のサブクエリ手法を使用すると、次の結果が得られます。
<code class="sql">+-------------+-------------+-------------+ | table1Count | table2Count | table3Count | +-------------+-------------+-------------+ | 14 | 27 | 0 | +-------------+-------------+-------------+</code>
これは、効果的に実行できる方法を示しています。単一のクエリで複数のテーブルからカウントを取得します。
以上がMySQL で複数のテーブルから COUNT(*) を結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。