gpt4 book ai didi

mysql - 通过基于点聚合的 id 匹配更新一个基于另一个 MySQL 表的值

转载 作者:行者123 更新时间:2023-11-30 22:02:51 25 4
gpt4 key购买 nike

我正在尝试从一个表(user_tranz) 中获取值的聚合,并希望根据 users 的(id)存储更新/插入到另一个表(用户)中strong> 在 user_tranz 中找到有这两个 mysql 表结构:

1- 用户:

    id      coin  buy  added  free   pay_later  renewed   pro
=========== ==== ===== ====== ==== =========== ========== ===
1 0 0 0 0 0 0 0
2 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0

2- user_tranz:

  id (AI)     user_id coin  buy  added  free   pay_later  renewed   pro
========== =========== ==== ===== ====== ==== =========== ========== ===
99 1 10 5 10 10 20 50 100
98 2 5 5 10 10 20 50 10
97 3 5 5 10 10 20 50 25
96 3 0 0 10 10 20 50 10
95 3 10 5 0 0 20 50 5
94 2 10 5 10 10 20 50 10

到目前为止,我知道这可以通过类似(LEFT JOIN with COALESCE()) 的方法来完成,但我不知道如何获得值(value)聚合而不是使用 join

Expected results:

Users:
id coin buy added free pay_later renewed pro
=========== ==== ===== ====== ==== =========== ========== ===
1 10 5 10 10 20 50 100
2 15 10 20 20 40 100 20
3 15 10 20 20 60 150 40

最佳答案

这个怎么样:

UPDATE users u 
SET u.coin = (
SELECT SUM(ut.coin)
FROM user_tranz ut
WHERE ut.user_id = u.id
), ...

您可以使用子查询来确定要插入到更新查询中的值。

关于mysql - 通过基于点聚合的 id 匹配更新一个基于另一个 MySQL 表的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42829281/

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