我有一个表 EventLogs 记录给定事件的详细信息,例如事件的日期和费用。
+------+----------+---------------------------+-------------------+
| id | place_id | start_at | total_fee_pennies |
+------+----------+---------------------------+-------------------+
| 4242 | 40 | 2013-10-20 19:00:00 +0100 | 8700 |
| 4288 | 48 | 2013-10-22 20:00:00 +0100 | 8000 |
| 4228 | 141 | 2013-10-17 19:30:00 +0100 | 20000 |
| 4232 | 19 | 2013-10-20 19:30:00 +0100 | 8000 |
| 4239 | 5 | 2013-10-20 19:30:00 +0100 | 6800 |
| 4269 | 6 | 2013-10-20 20:00:00 +0100 | 7000 |
| 4234 | 98 | 2013-10-20 20:00:00 +0100 | 6900 |
我希望能够按周汇总这些数据总费用,我相信这是一个 PIVOT?
所以我会为给定的月份选择它们:
"SELECT \"event_logs\".* FROM \"event_logs\" WHERE (event_logs.start_at BETWEEN '2013-10-01' AND '2013-10-31')"
然后以某种方式将它们按不同的 place_id 和使用 start_at (通常一个月 5 周?)按周汇总,以及每周的总费用。
place_id,第 1 周,第 2 周,...
但我不知道该怎么做?