プロが教えるわが家の防犯対策術!

SELECT SUM() AS FROM GROUP BYにて商品の合計個数と重量を集計しています。
賞味期限のデータがyyyy-mm-ddで登録されているのですが、これをyyyy-mmで集計するにはどうしたら良いでしょうか?

下の画像のように左が現状の状態で、それを右のような状態(賞味期限をyyyy-mmにして商品の個数と重量と賞味期限のyyyy-mmの月ごとで集計したい。)にしたいです。

因みに左の方のSQL文は以下で集計しています。
SELECT syoumi, syouhin,SUM(kosu) AS gokei_kosu,SUM(jyuryo) AS gokei_jyuryo FROM storage GROUP BY syoumi

どなたかご教示頂きますようお願い致します。

「php mysqlにて年月日で登録された」の質問画像

A 回答 (1件)

syoumiがDATE型、もしくはTIMESTAMP型ならdate_format関数を使って年と月のみの記述に変換することで可能です。



SELECT date_format(syoumi, '%Y-%m') AS syoumi_ym, syouhin,SUM(kosu) AS gokei_kosu,SUM(jyuryo) AS gokei_jyuryo FROM storage GROUP BY syoumi_ym, syouhin

なお、結果の最初のカラム名がsyoumiからsyoumi_ym になりますので、ご注意ください。

元のSQLですが、MySQLの設定やバージョンによっては動くかもしれませんが、GROUP BY句は
GROUP BY syoumi, syouhin
とするのが正しいです。
    • good
    • 0
この回答へのお礼

返信いただきありがとうございます!!
date_format初めて知りました!!

ありがとうございます。
因みにGROUP BY syoumi, syouhinが正しいのですね・・・。
私のローカル環境だと、GROUP BY syoumiだけでも動いたので・・・。
まだまだ理解不足・・・。

teideさんが教えて頂いたおかげで何とか前に進めそうです!!

本当にありがとうございました。

お礼日時:2016/03/26 21:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す