COUNT(*)
結果の結合: UNION とデカルト積の比較複数のテーブルにわたるデータを分析するには、多くの場合、結果を結合する必要があります。 頻繁に行われるタスクは、異なるテーブルから同時に行数を取得することです。
tab1
と tab2
の行数が必要だとします。 UNION
クエリが解決策のように見えるかもしれません:
<code class="language-sql">SELECT COUNT(*) AS Count_1 FROM schema.tab1 UNION ALL SELECT COUNT(*) AS Count_2 FROM schema.tab2</code>
ただし、これにより、Count_1
と Count_2
が別々の行に含まれる垂直方向の結果セットが生成されます。より整理された単一行の出力については、デカルト積のアプローチを検討してください。
<code class="language-sql">SELECT (SELECT COUNT(*) FROM tab1) AS count1, (SELECT COUNT(*) FROM tab2) AS count2 FROM dual;</code>
このクエリの仕組みは次のとおりです:
dual
テーブル (多くのデータベース システムではダミー テーブル) は 1 行を提供し、結合された結果のフレームワークとして機能します。COUNT(*)
を個別に計算します。count1
および count2
というエイリアスが付けられ、2 列、1 行の出力が作成されます。このメソッドは、両方のテーブルの行数を単一の構造化された行に効率的に統合し、望ましい結果をもたらします。
<code>count1 | count2 -------+------- 123 | 456</code>
以上が複数のテーブルからの COUNT(*) の結果を 1 つの行に効率的に結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。