ここでは、MySQL の DATE_FORMAT の使用方法のサンプル SQL を掲載しています。SELECT 分の抽出項目や where 句にも使用することができます。
スポンサーリンク
DATE_FORMAT 関数と group by の組み合わせ
以下は、注文テーブル ( order ) から価格 ( price ) の日および月ごとの合計を抽出するサンプル SQL になります。注文日 ( order_date ) で日次および月次の集計をしています。
-- 日次で集計 select sum(price) as sales_total ,DATE_FORMAT(order_date,'%Y-%m-%d') as daily from `order` where 0=0 and status = '1' -- 何か条件があればここに追加する group by daily -- 月次で集計 select sum(price) as sales_total ,DATE_FORMAT(order_date,'%Y-%m') as monthly from `order` where 0=0 and status = '1' -- 何か条件があればここに追加する group by monthly
日次で集計した出力結果例
上記のサンプル SQL で日次で集計した結果例は次のようになります。
+-------------+------------+ | sales_total | daily | +-------------+------------+ | 108200 | 2009-12-21 | | 66100 | 2009-12-25 | | 12000 | 2009-12-27 | | 24000 | 2009-12-28 | | 40000 | 2010-01-10 | +-------------+------------+ 5 rows in set (0.00 sec)
where 句で DATE_FORMAT 関数を使用する
次のサンプル SQL は where 句で DATE_FORMAT 関数を使用しています。特定月を条件に指定しています。
select sum(price) as sales_total from `order` where 0=0 and status = '1' and DATE_FORMAT(order_date, '%Y-%m') = '2009-12'