我无法使我的查询以我需要的方式工作。我有一个简单的查询,输出以下数据:SUM与GROUP BY的SQL查询通过
我需要的是总结了total_reseller_sales每个月,而不是显示在同一个月两次。我尝试以下方法,但它抛出一个错误
SELECT rs.resellerid, rs.sid, SUM(rs.total_reseller_sales), s.month, s.sid
FROM sales_report_resellers rs
INNER JOIN resellers r ON rs.resellerid = r.resellerid
INNER JOIN sales_report s ON rs.sid = s.sid
WHERE (rs.sid > '294' AND rs.sid < '306') AND r.insidesales = 0
AND r.resellerid IN (7, 18, 22)
GROUP BY month
我得到的错误是因为它不是在聚合函数或GROUP BY子句包含在SELECT每一个元素是无效的。
如果我将它们包含在GROUP BY中,那么我会得到相同的结果。
任何帮助,将不胜感激。
那么,如果您不想同时显示两个月,那么当一个月内有两个resellerID时,您应该显示什么? – ZLK
我相信你需要拥有而不是在使用SUM,COUNT,MIN等功能的时候...... – 2017-01-23 22:35:04
因为你没有把它放在group by子句中,所以你不能显示你的总和, 。 rs.sid和s.sid也是一样。你必须改变你的查询和字段列表的方法 –