我们假设我有几家商店有时会有不同的营业日(由于公共假期或其他原因),销售将在下表中保存时间戳:
+----------+---------------------+---------------+
| store_id | sales_date | sales_amount |
+----------+---------------------+---------------+
| 1 | 2017-11-03 10:32:44 | 100.00 |
| 1 | 2017-11-03 10:33:49 | 150.00 |
| 1 | 2017-11-04 11:08:24 | 120.00 |
| 1 | 2017-11-05 13:33:57 | 200.00 |
| 2 | 2017-11-03 12:37:34 | 100.00 |
| 2 | 2017-11-05 15:23:49 | 200.00 |
+----------+---------------------+---------------+
我想使用chart.js显示图表。 我客户的第一个要求是按小时过滤。 Click here for the solution of the first requirement!
但现在,他也可以按日期范围和月份进行过滤。
我有以下SQL:
SELECT store_id, DATE(sales_date) as date_hour, sum(sales_amount) as sales_sum
FROM sales
GROUP BY store_id, date_hour
我的当前结果是
+----------+-------------+---------------+
| store_id | date_hour | sales_sum |
+----------+-------------+---------------+
| 1 | 2017-11-03 | 250.00 |
| 1 | 2017-11-04 | 120.00 |
| 1 | 2017-11-05 | 200.00 |
| 2 | 2017-11-03 | 100.00 |
| 2 | 2017-11-05 | 200.00 |
+----------+-------------+---------------+
我的预期结果
+----------+-------------+---------------+
| store_id | date_hour | sales_sum |
+----------+-------------+---------------+
| 1 | 2017-11-03 | 250.00 |
| 1 | 2017-11-04 | 120.00 |
| 1 | 2017-11-05 | 200.00 |
| 2 | 2017-11-03 | 100.00 |
| 2 | 2017-11-04 | 0.00 |
| 2 | 2017-11-05 | 200.00 |
+----------+-------------+---------------+
日期范围(在本例中为11月3日至5日)因过滤器输入而异。
有没有机会用MySQL做到这一点?