【发布时间】:2025-12-21 18:45:05
【问题描述】:
我想根据另一列的值对一列的值求和。我的桌子是这样的:
|----------------------|-------------------|----------------|
| col1 | col2 | result |
|----------------------|-------------------|----------------|
| a | 5 | 12 |
| a | 7 | 12 |
| b | 9 | 209 |
| b | 200 | 209 |
| c | 56 | 56 |
|----------------------|-------------------|----------------|
结果列是预期的结果。因此,对于 col1=a 的每一行,col1 中 a 的 col2 中的值的总和将为 12。我想用更新和设置语句来做到这一点
这是我目前所拥有的:
UPDATE Result o
INNER JOIN
(
SELECT col1, SUM(col2) sumcol
FROM Result
GROUP BY col1
) i ON o.col2 = i.col1
SET o.result = i.sumcol
我很难找到正确的方法来执行此操作。我主要是遇到语法错误。我已经尝试过这个查询的不同变体(例如here),但到目前为止都没有。
提前致谢!
【问题讨论】:
-
请参阅:Why should I provide an MCRE for what seems to me to be a very simple SQL query? - 但同样,请考虑您是否真的想要存储容易派生的数据
标签: mysql