使用所有值的SUM作为mysql中的条件

时间:2013-10-08 05:11:53

标签: php mysql sql identity-column

下面是我创建的表的副本,我的目标是使用户名为DISTINCT,以便不会复制用户名,然后我想获得每个人拥有的TOTAL或SUM值。例如,在第一行Bob有2个值,在第二行,他有另一个值6,依此类推......如果你添加Bob拥有的所有值,你将获得25。

id     |    username   |  value |   
1              Bob            2       
2              Chris          4
3              Bob            6
4              Bob            12
5              Chris          1
6              Bob            5
7              Viktoriya      8  

我正在寻找的结果是这样的:

username  |  value
Bob       |   25
Chris     |   5
Viktoriya |   8

我通过使用这个公式实现了这个目标:

SELECT username, SUM(value) AS value
FROM my_table
GROUP BY username

但是如果我想创建一个条件怎么样,让我说,我只想返回高于5的值?我尝试过以下几行,但没有用。

SELECT username, SUM(value) AS value
FROM my_table
GROUP BY username
value >= 5

4 个答案:

答案 0 :(得分:1)

使用HAVING过滤汇总结果

GROUP BY ...
HAVING SUM(value) > 5

答案 1 :(得分:0)

 SELECT username, SUM(value) AS value
    FROM my_table
    GROUP BY username
    having SUM(value) >= 5

答案 2 :(得分:0)

请尝试以下:

SELECT username, SUM(value) AS value
    FROM my_table
    GROUP BY username HAVING SUM(value) > 5

查询将返回每个用户名的总和,并检查总和是否大于5,然后仅在输出中返回。

答案 3 :(得分:0)

尝试如下,

SELECT username, SUM(value) AS value FROM my_table WHERE value >= 5 GROUP BY username