毎日温泉に入りたい♨︎

-見た物,買った物,体験談を書いてますヽ(* ॑꒳ ॑* )ノダァーッ!!-

SQLで総数を出した後の各項目の絞込み

年月単位での件数を求める必要があり、かつその総数ごとに条件があった。
GROUP BY 嫌い。
基本は下記にまとまってます、
MySQL 日時ごとの集計まとめ

count()で数えられるのはnull以外なのでそれを利用する。

SELECT DATE_FORMAT(base_table.rest_date, '%Y-%m') AS 年月''
     , COUNT(*) AS '単純総数'
     , COUNT(base_table.target_flag) AS 'mainテーブルフラグON総数' 
     , COUNT(sub_table._id) AS spare_count 'subテーブル総数'
FROM base_table 
LEFT JOIN sub_table ON base_table._id = sub_table._id 
GROUP BY DATE_FORMAT(base_table.rest_date, '%Y-%m');

多岐にわたる場合はsumで増置していく方法もある。
sum(case when target_flag=1 then 1 end) AS 'フラグオン総数'

presented by「瑣末な問題」