page_adsence

2011年1月27日木曜日

MySQLのDATE_FORMAT関数はかなり便利

集計をするにあたって、日別や月別に集計したい場合、とりあえずMySQLでは期間内のデータを全件取得してから、PHPで整形してたんですが、MySQLでいい感じにできるみたいです。

(※日時を格納しているフィールド「time」の型はdatetimeでもcharでもいける)

//【年別に集計】
SELECT id, DATE_FORMAT(time,'%Y年') as time1 FROM table1 GROUP BY time1

//【月別に集計】
SELECT id, DATE_FORMAT(time,'%Y年%m月') as time2 FROM table1 GROUP BY time2

//【日別に集計】
SELECT id, DATE_FORMAT(time,'%Y年%m月%d日') as time3 FROM table1 GROUP BY time3

参考
http://ma-bank.com/item/604