使用MySQL的SUM()函数错误

时间:2013-03-06 13:29:13

标签: mysql aggregate-functions

我希望获得当前月份和未来24个月之间的每种产品的数量。我的sql查询只返回下个月的总和。

SELECT `products`, `date`, SUM(`quantity`)
FROM `my_table`
WHERE `date` 
BETWEEN CURDATE()
AND DATE_ADD(CURDATE(), INTERVAL 24 MONTH)
GROUP BY `products`

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

您需要对date进行分组,因为目前MySQL正在从每个组中选择一个(不确定的)date

GROUP BY `products`, `date`

答案 1 :(得分:0)

尝试使用MONTHS而不是MONTH

    AND DATE_ADD(CURDATE(), INTERVAL 24 MONTHS)

试试这个

SELECT `products`, `date`,quantity ,SUM(`quantity`)
FROM `my_table`
WHERE `date` 
BETWEEN CURDATE()
AND DATE_ADD(CURDATE(), INTERVAL 24 MONTHS)
GROUP BY `products` , `date`