SQL - 如果其他列的总和高于总数,则选择列

时间:2013-06-29 17:24:34

标签: sql select sum

我有一个看起来像这样的表:

id , name , price , date

1    a      100      1.3.12
2    b      230      1.3.12
3    a      300      1.3.12
4    c      1000     1.3.12
5    b      160      1.3.12
6    a      400      1.3.12

我想显示总价高于某个值的名称,比方说500。 因此,如果a具有100,300,400,则其总数为800> 500 - >显示。

但我只想用一个查询来做。到目前为止,我设法得到了这个查询:

SELECT name SUM (price) AS total FROM table GROUP BY name

但是我需要再做一次才能选择总数> 500。

我该怎么办?提前谢谢你。

2 个答案:

答案 0 :(得分:1)

您应该使用HAVING子句将条件应用于聚合函数:

SELECT   name
FROM     yourtable
GROUP BY name
HAVING   SUM(price)>500

答案 1 :(得分:1)

使用having过滤

select name, sum(price) as total_price
from your_table
group by name
having total_price > 500