gpt4 book ai didi

mysql - 将多个条目的值求和到一个字段中

转载 作者:行者123 更新时间:2023-11-30 01:12:02 26 4
gpt4 key购买 nike

在用户的 MySQL 数据库中,有 3 个字段分配给他:

用户 ID元键元值

user_id = '297' 
meta_key = 'qty'
meta_value = '1'

问题是,当该用户购买其他产品时,它错误地添加了另一个 3 个字段:

user_id = '297'  
meta_key = 'qty'
meta_value = '1'

而不只是将“qty”更新为增量值“2”。 因此,我的数据库充满了 3 或 4 个重复条目,每个条目的数量值为 1,而不是一个字段包含所有数量的总和。

我已经修复了导致此问题的错误,但现在我还需要修复数据库。

结构图像:http://i.imgur.com/41Qk07f.png

我想知道是否有一个查询可以将所有重复的“数量”值求和为一个。

最佳答案

这样就可以了:

UPDATE theTable t
JOIN (SELECT user_id, meta_key, SUM(meta_value) meta_value_sum
FROM theTable
GROUP BY user_id, meta_key) t1
ON t.user_id = t1.user_id AND t.meta_key = t1.meta_key
SET t1.meta_value = meta_value_sum

然后删除所有重复记录:

ALTER TABLE IGNORE theTable ADD UNIQUE INDEX (user_id, meta_key)

关于mysql - 将多个条目的值求和到一个字段中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19388893/

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