takikomiprogramming.hateblo.jp
↑この辺のタイミングで、既に色情報は持っているので、期間区切って色とチャンネルでグルーピングしたものをピポットしてやれば、集計表はすぐ作れる。
SELECT t.id ,t.author_name ,t.thumbnail0_url ,t.thumbnail1_url ,t.thumbnail2_url ,COALESCE(max(CASE WHEN t.color_name = '青' THEN t.count END), 0) AS 青 ,COALESCE(max(CASE WHEN t.color_name = '水色' THEN t.count END), 0) AS 水色 ,COALESCE(max(CASE WHEN t.color_name = '黄緑' THEN t.count END), 0) AS 黄緑 ,COALESCE(max(CASE WHEN t.color_name = '黄' THEN t.count END), 0) AS 黄 ,COALESCE(max(CASE WHEN t.color_name = 'オレンジ' THEN t.count END), 0) AS オレンジ ,COALESCE(max(CASE WHEN t.color_name = 'ピンク' THEN t.count END), 0) AS ピンク ,COALESCE(max(CASE WHEN t.color_name = '赤' THEN t.count END), 0) AS 赤 FROM ( SELECT ch.id ,ch.author_name ,ch.thumbnail0_url ,ch.thumbnail1_url ,ch.thumbnail2_url ,mv.color_name ,COUNT(mv.id) count FROM mv_chat_paids mv INNER JOIN channels ch ON mv.channel_id = ch.id WHERE mv.video_uploaded_date >= '2020-07-01 00:00:00' AND mv.video_uploaded_date <= '2020-07-31 23:59:59' GROUP BY ch.id ,ch.author_name ,ch.thumbnail0_url ,ch.thumbnail1_url ,ch.thumbnail2_url ,mv.color_name ) t GROUP BY t.id ,t.author_name ,t.thumbnail0_url ,t.thumbnail1_url ,t.thumbnail2_url
見せ方として色が有ったほうが便利なので、スパチャスクショして、
RGB値に変換して、
色名 | R | G | B |
---|---|---|---|
青 | 21 | 101 | 192 |
水色 | 0 | 184 | 212 |
黄緑 | 0 | 191 | 165 |
黄 | 255 | 179 | 0 |
オレンジ | 230 | 81 | 0 |
ピンク | 194 | 24 | 91 |
赤 | 208 | 0 | 0 |
DBに突っ込んでおく。
グラフ自前で作るのは面倒なので、エクセルと連携して、グラフ生成ツールを叩けば出来上がり。