2020-01-01 00:00:00 のような日付データを月毎や日毎といった括りでデータをまとめて集計したいときの集計クエリを記載します。
目次
レコード数を集計する
月毎にレコード数を集計する
月ごとに集計します。
SELECT DATE_FORMAT(created_at, '%Y-%m') AS date, COUNT(1) AS counter
FROM テーブル名
GROUP BY DATE_FORMAT(created_at, '%Y%m');
created_atの部分を集計するテーブルによって変えてください。
日毎にレコード数を集計する
日ごとに集計します。
SELECT DATE_FORMAT(created_at, '%Y-%m-%d') AS date, COUNT(1) AS counter
FROM テーブル名
GROUP BY DATE_FORMAT(created_at, '%Y%m%d');
時間毎にレコード数を集計する
時間ごとに集計します。
SELECT DATE_FORMAT(created_at, '%Y-%m-%d %H:00:00') AS date, COUNT(1) AS counter
FROM テーブル名
GROUP BY DATE_FORMAT(created_at, '%Y%m%d%H');
合計値を集計する
月毎に合計値を集計する
月ごとに合計値を集計します。
SELECT DATE_FORMAT(created_at, '%Y-%m') AS date, SUM(pay) AS sum
FROM テーブル名
GROUP BY DATE_FORMAT(created_at, '%Y%m');
created_at と pay の部分を集計するテーブルによって、カラム名を変えてください。
日毎に合計値を集計する
日ごとに合計値を集計します。
SELECT DATE_FORMAT(created_at, ‘%Y-%m-%d’) AS date, SUM(pay) AS sum
FROM テーブル名
GROUP BY DATE_FORMAT(created_at, ‘%Y%m%d’);
時間毎に合計値を集計する
時間ごとに合計値を集計します。
SELECT DATE_FORMAT(created_at, ‘%Y-%m-%d %H:00:00’) AS date, SUM(pay) AS sum
FROM テーブル名
GROUP BY DATE_FORMAT(created_at, ‘%Y%m%d%H’);