gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 07:20:28 25 4
gpt4 key购买 nike

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

id customer amount kind
1 123 15 g
2 123 30 op
3 234 20 g
4 345 25 g
5 456 12 g
6 456 15 op

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

现在我想添加一个条件:

“仅当存在具有“op”类型的客户的另一个条目时,才将金额与总和相加”

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

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

谢谢!

最佳答案

要获取每个客户的总金额

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

关于mysql - 仅当存在具有特殊条件的另一行时才求和字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36329550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com