ホームページ >データベース >mysql チュートリアル >外部結合を使用して SQL COUNT 集計にゼロの結果を含める方法
外部結合を使用した SQL COUNT 集計でのゼロ カウントの処理
SQL の COUNT
集計関数は通常、null 以外の値をカウントし、結果がゼロのエンティティを省略します。 これらのゼロカウントエンティティを含めるには、外部結合を使用します。 外部結合は、内部結合とは異なり、もう一方のテーブルに一致するものがない場合でも、一方または両方のテーブルのすべての行を保持します。
person
と appointment
という 2 つのテーブルを使って説明します。 appointment
は person
を介して person_id
にリンクします。 予約がゼロのものも含めて 1 人あたりの予約をカウントするには、LEFT JOIN
:
<code class="language-sql">SELECT p.person_id, COUNT(a.person_id) AS number_of_appointments FROM person p LEFT JOIN appointment a ON p.person_id = a.person_id GROUP BY p.person_id;</code>
この LEFT JOIN
により、person
テーブル (p
というエイリアス) のすべての行が確実に含まれます。 人に予定がない場合、a.person_id
は NULL になり、その人に対して COUNT(a.person_id)
は 0 を返します。 これにより、すべての人の完全な数が得られ、予約がゼロのケースが正確に反映されます。 GROUP BY
句により、カウントが人ごとに集計されるようになります。
以上が外部結合を使用して SQL COUNT 集計にゼロの結果を含める方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。