【发布时间】:2016-10-26 19:50:04
【问题描述】:
我在这里遇到了一个我无法用谷歌解决的问题。我得到了带有行号和参数的表。现在我想为每个数字删除具有相同参数的重复行:
Number Parameter id
3 22 1
3 22 2
2 32 3
1 44 4
2 12 5
4 22 6
1 44 7
2 12 8
2 36 9
到
Number Parameter id
3 22 1
2 32 3
1 44 4
2 12 5
4 22 6
2 36 9
我试过了
DELETE n1 FROM a n1,a n2 WHERE n1.parameter = n2.parameter AND n1.id > n2.id AND n1.id <> n2.id
但这会删除具有重复参数的每一行,以便只保留一个。我需要以某种方式按数字添加组。我想,但我不知道怎么做。
编辑:哦,我错过了添加 ID 行。当然,每一行都有一个 ID 行,我现在将添加它。
EDIT2:来自 10086 的回答有效!
【问题讨论】:
-
只要重复的行完全一样,甚至没有一列有不同的值,那么我认为删除一个是不可能的。相反,你为什么不使用 distinct 呢?从表中选择不同的数字、参数;
-
作为 andre_northwind sais,不可能删除完全相同的行。您至少需要一个额外的列。你能改变表的架构吗?
标签: mysql