レコードごとにCOUNTする方法(SQL)
本来COUNT関数は、カラムごとにしか使えません。
そうではなく、レコードごとの合計を取得する方法をお伝えします。
例としてこのようなテーブルがあったとします。
以下のクエリを使ってこのテーブルの行ごとのデータ数を取得したいと思います。
取得したい値は1行目が3、2行目が2です。
SELECT NO_1, NO_2, NO_3, (CASE WHEN NO_1 = '' OR NO_1 IS NOT NULL THEN 1 ELSE 0 END) + (CASE WHEN NO_2 = '' OR NO_2 IS NOT NULL THEN 1 ELSE 0 END) + (CASE WHEN NO_3 = '' OR NO_3 IS NOT NULL THEN 1 ELSE 0 END) AS RECORD_SUM FROM BLOG;
結果