COUNT(条件式)とした場合、条件式部分の返却値は1又は0となり、COUNT(条件式)のCOUNTは0も数えるため取得件数が想定より増えてしまう(というより、条件式を使っている意味がなくなる)。 COUNT(条件式 OR NULL)とすると、条件式の結果が0のとき(条件式 OR NULL)はNULLを返す。COUNTはNULLを数えないため、条件式に当てはまるレコードのみCOUNT出来るってわけ。 ※ここでの条件式は、カラムの値に対して演算子を用いたもの。例)year > 5
Register as a new user and use Qiita more conveniently