该表的值如下:
group_name group_id parent_group_id amount
One 69 10 1000
Two 70 11 500
Three 71 69 700
如果
group id = 69
与我尝试过的parent_group_id = 69
匹配,那么我需要在数量列中求和SUM(CASE WHEN fee_groups.groups_id = fee_groups.parent_fee_groups_id
THEN amount
ELSE 0
END) AS total
但是上面的线对我无能为力。如果我错了,请帮助我获得以下结果,
group_name group_id parent_group_id amount
One 69 10 1700
Two 70 11 500
在这里,
group_id
和parent_group_id
建立关系,如果任何parent_group_id
与group_id
匹配,则两者都属于单个组,因此我需要将这两个值求和。 最佳答案
对于您想做的事情,包含group_id
和parent_group_id
对我来说没有意义。您也没有解释“ 71”会发生什么。
select min(group_name) as group_name,
sum(amount)
from t
group by (case when 69 not in (group_id, parent_group_id) then group_name end);
这将合并共享“ 69”的组,并使其他组分开。
关于php - 如何使表中的两行相加?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49920360/