あるカラムの値ごとに件数をカウントしたい場合のSQL例
前提
例えばusersテーブルがあって、その中に済んでいる都道府県を持っていたとする
都道府県の入力がNULLのものと何かしら入っているレコードをそれぞれカウントしたい
方法
CASE文でそれぞれの条件に合うときは1を返す
それをSUMしてカウントする
code: sql
SELECT
SUM(CASE WHEN users.pref IS NULL THEN 1 ELSE 0 END) AS 都道府県未設定件数
, SUM(CASE WHEN users.pref IS NOT NULL THEN 1 ELSE 0 END) AS 都道府県設定済み件数
FROM
users;