下面是我创建的表的副本,我的目标是使用户名为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
答案 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