ホームページ >データベース >mysql チュートリアル >外部結合を使用して SQL COUNT 集計にゼロの結果を含める方法

外部結合を使用して SQL COUNT 集計にゼロの結果を含める方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-08 18:17:43299ブラウズ

How to Include Zero Results in SQL COUNT Aggregates Using Outer Joins?

外部結合を使用した SQL COUNT 集計でのゼロ カウントの処理

SQL の COUNT 集計関数は通常、null 以外の値をカウントし、結果がゼロのエンティティを省略します。 これらのゼロカウントエンティティを含めるには、外部結合を使用します。 外部結合は、内部結合とは異なり、もう一方のテーブルに一致するものがない場合でも、一方または両方のテーブルのすべての行を保持します。

personappointment という 2 つのテーブルを使って説明します。 appointmentperson を介して 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 サイトの他の関連記事を参照してください。

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