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

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

Mary-Kate Olsen
リリース: 2025-01-08 18:43:42
オリジナル
160 人が閲覧しました

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

SQL COUNT 集計: 結合によるゼロ結果の処理

データベース クエリでは、完全性を保つために、COUNT などの集計関数にゼロの結果を含める必要があることがよくあります。 これは、データの欠如が重大なシナリオに対処する場合に非常に重要です。

これを例で説明しましょう。 personappointment という 2 つのテーブルがあるとします。 appointment テーブルには、person_id テーブルを参照する person 外部キーが含まれています。 私たちの目標は、まったく予約がない人も含め、各人の予約数をカウントすることです。

appointment テーブルの単純な COUNT では、予定のある人の結果のみが表示されます。ゼロを含めるには、LEFT JOIN.

が必要です。

SQL クエリ:

<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 というエイリアス) のすべての行が結果セットに含まれることを保証します。 appointment テーブル (a というエイリアス) に一致するエントリがない場合、a.person_id は NULL になります。 COUNT(a.person_id) 関数はこれを巧みに処理します。NULL 以外の値のみをカウントし、事実上、予約のない人のカウントは 0 になります。 p.person_id でグループ化すると、各個人の個別のカウントが確実に取得されます。

このアプローチでは、データがまばらな場合やデータの欠如に意味がある場合でも、正確なレポートが保証されます。 これは、包括的なデータ分析にとって貴重な手法です。

以上がSQL 結合を使用して COUNT 集計にゼロの結果を含める方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート