NULLABLEのカラムにNULLを含んだ数をCOUNTで取得したい場合、真っ先にCOUNT(カラム名)の書き方がパッと浮かぶ人が多いと思います。
実際に、NULLABLEのカラムをCOUNT(カラム名)でSQLを実行すると、期待したCOUNTの数値と異なります。
この問題を解決するには、COUNT(*)にする必要があります。
基本的な書き方としては、下記のようになります。
SELECT
COUNT(*)
FROM
テーブル名
;
HAVING句を用いてCOUNTしたクエリの一例も載せてみました。
SELECT
カラム名
FROM
テーブル名
HAVING
COUNT(*) = COUNT(カラム名)
;
ここ最近実務でハマってしまったので、忘備録としてまとめました。