MySQL の IFNULL 関数を SUM 関数と組み合わせるといい感じに集計してくれる

この記事は公開されてから7年経過しています。現在とは内容が異なる場合がありますのでご注意ください。
最新の記事や関連記事をお探しの方は下の「サイト内検索」で検索してみてください。

MySQL の SUM 関数で集計するときに返り値が NULL になることないですか?NOT NULL になっていないカラムを集計するときに条件にヒットする行が 0 件だったときとかによくあると思います。

上記みたいなテーブルに次のような SQL を実行すると COUNT のところは 0 が、 SUM のところは NULL になると思います。

でここから本題ですが IFNULL 関数を使って次のようにすると NULL じゃなくて 0 が返ってくると思います。

これだと返り値がNULLかどうかチェックすることなくそのまま値を表示させることができますね。