【发布时间】:2023-03-08 12:20:02
【问题描述】:
我有以下数据:
-------table_a-------
| id | data | value |
| 1 | 5 | 1 |
| 2 | 3 | 3 |
我想要的输出是将第 2 行与第 1 行合并,这样在id = 1 的位置,数据保留到=5,但添加了值,所以1+3。
-------table_a-------
| id | data | value |
| 1 | 5 | 4 |
这是就我得到的查询而言,但第一个似乎不起作用。这也不是为了检索数据,而是为了操作数据库中的数据。
当前查询(第一个不工作):
UPDATE table_a SET value = value + (SELECT a.value FROM table_a a WHERE a.id = 2) WHERE id = 1;
DELETE FROM table_a WHERE id = 2;
【问题讨论】:
-
第2行和第1行合并的规则是什么?该表是否只有两行?目的是
update还是select查询就足够了? -
@GordonLinoff 该表将有 100,000 行。你说的规则是什么意思? (如果你的意思是我想要发生什么,我希望添加值,但保持一行的 id 和 data 不变)
-
@GordonLinoff 需要更新,因为原始数据需要更改/更新。