仅当存在具有特殊条件的另一行时,求和字段

时间:2016-03-31 09:34:37

标签: mysql

我有一个包含以下条目的表格:

$.parseHTML

我想要做的是将所有金额与“g”类型相加。

现在我想添加一个条件:

“如果客户的其他条目与'op'类型相同,则仅将金额加总和

意味着我的结果在这种情况下应为27而不是72。

添加此条件的好方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:2)

要获得每个客户的总和

select customer, sum(case when kind = 'g' then amount else 0 end) as c_sum
from your_table
group by customer
having sum(kind = 'op') > 0

获得总和

select sum(c_sum)
from 
(
    select customer, sum(case when kind = 'g' then amount else 0 end) as c_sum
    from your_table
    group by customer
    having sum(kind = 'op') > 0
) tmp