MySQL查询使用AND,SUM以及GROUP BY

时间:2014-05-06 17:57:20

标签: mysql

6年内不必触摸MySQL。已经被抛回去运行一些报告请求。这是我的工作查询:

SELECT colorID, colorName, origColorType, SUM(gallons) AS totalGallons 
FROM netTran2014
WHERE origColorType LIKE '%COMPETITIVE%' 
GROUP BY colorName 
ORDER BY totalGallons DESC;

问题源于尝试添加

AND WHERE SUM(gallons) > 0.00

我已尝试以各种方式将其丢入其中并获得语法错误或

  

ERROR 1111(HY000):组功能的使用无效。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

尝试这种方式:

SELECT colorID, colorName, origColorType, SUM(gallons) AS totalGallons 
FROM netTran2014
WHERE origColorType LIKE '%COMPETITIVE%' 
GROUP BY colorName 
HAVING SUM(gallons) > 0.00
ORDER BY totalGallons DESC;

HAVING子句已添加到SQL,因为WHERE关键字无法与聚合函数一起使用。

答案 1 :(得分:0)

添加SUM(gallons) AS totalGallons时,您会创建一个“假”列 如此,你需要使用“HAVING totalGallons > XX”而不是“WHERE”