MYSQL如何用相同的键对行进行求和,然后删除重复的行

时间:2013-06-30 04:05:42

标签: mysql sum

我拥有什么:
关键数据
1 22
1 5
2 6
3 1
3 -3

我想要的是什么:
关键数据
1 27
2 6
3 -2

我不介意用两个或更多个查询来执行此操作,尤其是如果它们很简单 - 便于维护。表格也相当小(<2,000条记录)。 'key'字段已编制索引并允许重复。

Muchas Gracias

2 个答案:

答案 0 :(得分:1)

试试这个:

从[table]中选择[key],sum([data]) 分组按[键]

我不确定你为什么要删除“重复”(我只是将它们称为详细信息,因为它们不是聚合行)。如果您不需要表中的所有内容,而不是删除数据,则可以轻松地对此表或存储过程进行查看。

答案 1 :(得分:1)

这是一个你可以遵循的简单算法。

步骤1 - 创建一个临时表,其中的确切字段为mytable。

第2步 - 使用此查询插入值

insert into temp columns(key, data)
select m.key, sum(m.data)
from mytable m
group by m.key

第3步 - 删除mytable并将temp重命名为mytable。