前提・実現したいこと
プログラミング初心者です。
sql, batファイルでは実現しづらい問題を解決したいです。
例えばこのようなテーブルがあったとして、
0. 日にちをごとに分ける(例:20190501)
0. 果物ごとに分ける
0. イベントIDの「3」が入ったレコードを下に持つ、ユーザIDが入ったカラムをカウントし、果物ごとに買った人数をカウントする(このとき、同じ人は1人としてカウントする。つまり、重複は避ける)
ということを実現したいです。
- ログテーブル
|日付時間|果物|買った人のID|イベントID
|:--|:--:|--:|
|2018/05/01 00:00:00|りんご|1|1
|2018/05/01 00:00:00|りんご||2
|2018/05/01 00:00:00|りんご||3
|2018/05/01 12:30:30|なし|2|4
|2018/05/01 12:30:30|なし||5
|2018/05/01 12:30:30|なし||6
|2018/05/01 21:55:55|りんご|1|1
|2018/05/01 21:55:55|りんご||2
|2018/05/01 21:55:55|りんご||3
|2019/01/01 00:00:00|なし|4|4
|2019/01/01 00:00:00|なし||5
|2019/01/01 00:00:00|なし||6
|2019/01/01 12:30:30|りんご|2|1
|2019/01/01 12:30:30|りんご||2
|2019/01/01 12:30:30|りんご||3
- イベントIDテーブル
イベントID | 状態 |
---|---|
1 | 買った |
2 | 商品をもらった |
3 | ありがとうございますと言われた |
4 | 買えなかった |
5 | 商品をもらえなかった |
6 | 店から追い出された |
発生している問題・エラーメッセージ
先輩からsqlとbatファイルだけでこの挙動を実現するのは初心者には難しい、と言われました。
補足情報(FW/ツールのバージョンなど)
MySQLを使用しております。