gpt4 book ai didi

MySQL - 在一个语句中从查询更新表字段

转载 作者:行者123 更新时间:2023-11-29 07:25:19 25 4
gpt4 key购买 nike

我成功地从数据库中检索了发布了 2 个或更少帖子的用户,并显示了该查询的结果,如下所示:

SELECT Users.*, count( Posts.user_id ) 
FROM Posts LEFT JOIN Users ON Users.user_id = Posts.user_id
GROUP BY Posts.user_id
HAVING count( Posts.user_id ) < 2

接下来我想实现的是为该查询的所有用户更新一个名为 active 的字段,因此我尝试在第一个查询中添加一条 UPDATE 语句:

UPDATE Users
SET Users.Active = 3
WHERE count( Posts.user_id ) < 2

但我无法让它工作。 UPDATE 部分应该放在哪里,或者应该单独运行?

最佳答案

在 where 语句中,您需要选择每个用户的帖子数并检查它是否小于 2。

    UPDATE Users
SET Users.Active = 3
WHERE (SELECT count( Posts.user_id )
FROM Posts
WHERE Users.user_id = Posts.user_id
GROUP BY Posts.user_id) < 2

关于MySQL - 在一个语句中从查询更新表字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54165725/

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