mysql - 过滤掉MySQL中使用GROUP BY得到的结果

标签 mysql group-by

我有这个问题:

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/

相关文章:

mysql - 如何将远程数据库与本地codeigniter一起使用?

gwt中的mysql数据库

mysql - Apache Hadoop 2.7.1 是否与 Apache Sqoop 1.4.6 兼容?

mysql - 如何按具有空值的表进行分组

sql - 如何使用SQL对不同日期进行分组?

php - 多对多(belongsToMany)Laravel 关系在 HHVM 下似乎不起作用

mysql - 仅当它们在另一个表中具有公共(public)记录时,才从用户名检索两个用户记录

sql - 在一个查询中分组两次

php - MYSQL中多个字段的分组依据

entity-framework - 如何在没有 if 语句(SUM/AVG)的情况下实现以下查询?