MySQL で年月日等の日付別に集計する

MySQL で年月日等の日付別に集計する

いまさら月次集計や年毎の集計など

  • 集計をする際は、主にGROUP BYを多く用いる。
  • YEAR(), MONTH(), DAY(), DAYNAME(), EXTRACT()が便利。

WHERE で条件しぼるんじゃないらしい(ヲイ)

2010-05 2010-06 等で年月別の集計なら、

SELECT EXTRACT(YEAR_MONTH FROM `datetime`) as 'year_month' ,
SUM(`price`) as price
FROM `hoge_table`
GROUP BY EXTRACT(YEAR_MONTH FROM `datetime `);

とか。(参照ページの例文に間違い有り as が抜けているのと エイリアスとして year_month と言う文字列を指定する場合はクォートで囲まないとエラーになる)

year_month	price
200811	34259
200812	49258
200901	67447

結果はこんな感じになる。

参照:MySQLの知っていると便利な構文(その2)