Mysql表
Name | Amount
------------
name1 | 150
name1 | 90
name2 | 100
name2 | 110
name3 | 10结果需要这样的东西
Name | SUM(Amount)
------------
name1 | 240
name2 | 210试过
SELECT Name, SUM(Amount)
WHERE Amount < 210 AND SUM(Amount) >= 210
GROUP BY Name但是得到错误的SQLSTATE[HY000]: General error: 1111 Invalid use of group function
如果我删除了AND SUM(Amount) >= 210代码
试着想..。我是否需要像最初获得SUM(Amount) AS SumAmount一样,在同一个查询中而不是在AND SUM(Amount) >= 210中使用AND SumAmount >= 210?但是两个SELECT在一个查询中.
有点像?
SELECT SUM(Amount) AS SumAmount
WHERE Amount < 210
GROUP BY Name
SELECT Name, SUM(Amount)
WHERE SumAmount >= 210
GROUP BY Name拜托,建议
发布于 2013-07-29 06:59:17
使用HAVING子句过滤聚合结果,如SUM()等。
SELECT Name, SUM(Amount)
FROM tableName
WHERE Amount < 210
GROUP BY Name
HAVING SUM(Amount) >= 210https://stackoverflow.com/questions/17917754
复制相似问题