具有相同ID的MySQL SUM单元格并将其插入表中

时间:2015-03-17 22:59:22

标签: mysql

请帮助我: 我有这张桌子:

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都在keyterm2中,它是term1term3的总和。 该总和应插入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

谢谢!

1 个答案:

答案 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)。我保留了这个名字,因为这就是问题的表达方式。