请帮助我: 我有这张桌子:
id key value 1 term1 35 1 term2 1 term3 40 2 term1 12 2 term2 2 term3 11 3 term1 51 3 term2 3 term3 23
每个id
都在key
列term2
中,它是term1
和term3
的总和。
该总和应插入value
列。
像这样:
id key value 1 term1 35 1 term2 75 1 term3 40 2 term1 12 2 term2 23 2 term3 11 3 term1 51 3 term2 74 3 term3 23
谢谢!
答案 0 :(得分:1)
如果您想更新表格,请使用join
:
update table t join
(select id, sum(value) as sumvalue
from table t
where key in ('term1', 'term3')
group by id
) tt
on t.id = tt.id
set t.value = tt.sumvalue
where t.key = 'term1';
请注意,key
是MySQL中的关键字(通常是SQL)。我保留了这个名字,因为这就是问题的表达方式。