我有这个问题:
SELECT name, SUM(p.column1+p.column2+p.colum3) AS PICKS
FROM table AS p
WHERE date = '2014-09-10'
GROUP BY name
此查询非常有效。我想过滤掉 p.column1+p.column2+p.column3 = 0
我试过:
SELECT name, SUM(p.column1+p.column2+p.colum3) AS PICKS
FROM table AS p
WHERE PICKS > 0
AND date = '2014-09-10'
GROUP BY name
但它一直告诉我 GROUP BY
的使用不正确。
最佳答案
使用having子句过滤聚合函数的结果
SELECT name, SUM(p.column1+p.column2+p.colum3) AS PICKS
FROM table AS p
WHERE date = '2014-09-10'
GROUP BY name
HAVING PICKS > 0
或者您可以使用另一种方式使用子选择
SELECT * FROM
(SELECT name, SUM(p.column1+p.column2+p.colum3) AS PICKS
FROM table AS p
WHERE date = '2014-09-10'
GROUP BY name) t
WHERE PICKS > 0
关于mysql - 过滤掉MySQL中使用GROUP BY得到的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25836258/