gpt4 book ai didi

mysql - 用另一行的平均值更新一行

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


我实际上有一个这样的表:
enter image description here
但是我想更新第一行的值,让它成为他们 child 的平均值,如下所示:
enter image description here
所以我使用了这个查询:

UPDATE mytable parent
INNER JOIN mytable child
ON child.parentId = parent.id
SET parent.value = AVG(child.value)
WHERE parent.parentId=0

但我收到此错误:#1111 - 组函数的使用无效
如何更正我的查询?

最佳答案

使用子查询加入计算父 ID 平均值的位置

获取每个 parentId 的平均值的查询如下所示:

SELECT parentId, AVG(value) as average FROM mytable GROUP BY parentId

现在加入吧

UPDATE mytable parent
INNER JOIN (SELECT parentId, AVG(value) as average FROM mytable GROUP BY parentId) child
ON child.parentId = parent.id
SET parent.value = child.average
WHERE parent.parentId=0

关于mysql - 用另一行的平均值更新一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36836441/

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