sql >> データベース >  >> RDS >> PostgreSQL

ゼロ/0の結果をCOUNT集計に含める方法は?

    このための外部結合が必要です(そして、人を「運転」テーブルとして使用する必要があります)

    SELECT person.person_id, COUNT(appointment.person_id) AS "number_of_appointments"
    FROM person 
      LEFT JOIN appointment ON person.person_id = appointment.person_id
    GROUP BY person.person_id;
    

    これが機能する理由は、外側(左)の結合がNULLを返すためです。 予約がない人のために。集計関数count() NULLはカウントされません 値を指定すると、ゼロになります。

    外部結合について詳しく知りたい場合は、次のチュートリアルをご覧ください:http://sqlzoo.net/wiki/Using_Null



    1. パラメータがNULLの場合にデフォルト値を列に挿入する

    2. MariaDB JSON_REPLACE()の説明

    3. SQLServerで実行プランを生成する方法

    4. 統計の自動更新の追跡