Mysql Grouped Count日期范围内的数据行

时间:2017-06-27 17:49:43

标签: mysql sql

似乎无法想出这一个。

我需要根据日期范围返回一行数据。问题是总计行可以有多个产品。让我向您展示示例数据。

|id|product_id|in|shelf|date      |
|1 |1         |2 |4    |2017-01-01|
|2 |2         |1 |5    |2017-01-01|
|3 |4         |2 |4    |2017-01-02|
|4 |8         |4 |8    |2017-01-02|
|5 |1         |3 |6    |2017-01-02|
|6 |2         |2 |3    |2017-01-02|
|7 |1         |2 |4    |2017-01-03|
|8 |2         |1 |8    |2017-01-03|
|9 |4         |2 |4    |2017-01-04|
|10|8         |4 |8    |2017-01-04|
|11|1         |3 |6    |2017-01-04|
|12|2         |2 |3    |2017-01-04|

所以在示例数据中我想知道in&的总和。货架列的日期从1日到4日。但我只想要product_id 1&的总和。 2合并日期。

所以我希望看到的结果如下。即1月1日至4日的日期范围。

|date      |total|
|2017-01-01|12   |
|2017-01-02|14   |
|2017-01-03|15   |
|2017-01-04|14   |

希望你能提出建议。

1 个答案:

答案 0 :(得分:3)

可能需要一列

select date,  sum( in + shelf) as total 
from my table 
where date between '2017-01-01' and '2017-01-04'
and product_id in (1,2)
group by date