[英]Update column with SUM from another table, PostgreSQL
我尝试根据另一个表中的SUM
更新我的users
points
。
UPDATE users u
INNER JOIN
(
SELECT user_id, SUM(user_score_for_answer) as total
FROM answer_histories
GROUP BY user_id, total
) a ON users.id = a.user_id
SET U.points = a.total
错误:“内部”处或附近的语法错误
在 Postgres 中,语法如下所示:
UPDATE users u
SET points = a.total
FROM (SELECT user_id, SUM(user_score_for_answer) as total
FROM answer_histories
GROUP BY user_id, total
) a
WHERE u.id = a.user_id;
戈登的回答很棒,只是出现了一个小错误——“GROUP BY 中不允许使用聚合函数”,这可以通过简单地从 GROUP BY 中删除总计来解决。
*(由于声誉不足,我无法对此发表评论)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.