gpt4 book ai didi

mysql - 错误: Operand should contain 1 column(s)

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

我想使用下面的代码从数据库中选择一组数据。

SELECT * FROM History INNER JOIN (SELECT MAX(id) as id FROM History GROUP BY home_id)
last_updates ON last_updates.id = History.id

结果,我得到了这组数据。然后我想根据数据组更新表上的字段,并使用下面的代码。

UPDATE History SET status = '0' WHERE
(SELECT * FROM History INNER JOIN (SELECT MAX(id) as id FROM History GROUP BY home_id)
last_updates ON last_updates.id = History.id)

我认为我的sql更新代码是正确的,但是我得到了

Error: Operand should contain 1 column(s).

有什么我需要改变的吗?

最佳答案

尝试更新自联接:

UPDATE History h1
INNER JOIN
(
SELECT home_id, MAX(id) AS max_id
FROM History
GROUP BY home_id
) h2
ON h1.home_id = h2.home_id AND
h1.id = h2.max_id
SET
h1.status = 0;

这假设您希望将每个具有最大 id 值的 home_id 组的每条记录的状态清零。

关于mysql - 错误: Operand should contain 1 column(s),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59133094/

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