gpt4 book ai didi

sql - 使用聚合函数返回的值进行更新

转载 作者:行者123 更新时间:2023-12-04 16:14:58 35 4
gpt4 key购买 nike

如何在 sql update 语句中使用聚合函数更新表的列?

最佳答案

聚合函数,根据定义,将输入的一条或多条记录聚合到结果集中的一条记录中,因此您要更新哪条记录并不明显。

通常,您可以在子查询中使用聚合函数:

UPDATE  mytable
SET mycol =
(
SELECT SUM(othercol)
FROM othertable o
WHERE o.yetothercol = m.yetmycol
)

,在 JOIN 中(适用于 MySQLSQL Server)

UPDATE  mytable
JOIN (
SELECT yetothercol, SUM(othercol) AS psum
FROM othertable
GROUP BY
yetothercol
) s
ON yetmycol = yetothercol
SET mycol = psum

,或在 MERGE 语句中(适用于 OracleSQL Server 2008):

MERGE
INTO mycol
USING (
SELECT yetothercol, SUM(othercol) AS psum
FROM othertable
GROUP BY
yetothercol
) s
ON (yetmycol = yetothercol)
WHEN MATCHED THEN
UPDATE
SET mycol = psum

关于sql - 使用聚合函数返回的值进行更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2041429/

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