gpt4 book ai didi

mysql - SQL 合并相差 1 个参数的行

转载 作者:太空宇宙 更新时间:2023-11-03 10:53:34 24 4
gpt4 key购买 nike

好吧,我正在处理一个数据库,基本上我有一个所有权列表。有时我会收到几乎重复的行,仅在属性的数量上有所不同。我想将它们合并为一个,将数量设置为两者的总和。示例:

Name  Surname Amount
Ann Evans 4
Ann Evans 7

我只想:

Ann   Evans   11

如何合并具有共同元组的两行?

最佳答案

使用SUM()聚合函数以及 GROUP BY子句:

SELECT Name, 
Surname,
SUM(Amount) AS total_amount
FROM tbl
GROUP BY
Name,
Surname;

更新。Michał Szydłowski:好的,但我不想选择,我想运行更新查询,这将永久修改表。

我在这里看到的最佳选择是使用 INSERT INTO ... SELECT :

CREATE TABLE temp_tbl LIKE tbl;

INSERT INTO temp_tbl (Name, Surname, Amount)
SELECT Name,
Surname,
SUM(Amount)
FROM tbl
GROUP BY
Name,
Surname;

TRUNCATE tbl;

INSERT INTO tbl (Name, Surname, Amount)
SELECT Name,
Surname,
Amount
FROM temp_tbl;

关于mysql - SQL 合并相差 1 个参数的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22539781/

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