我在这里有一个问题,我无法用谷歌解决。我得到了一个带行号和参数的表。现在我想删除每个数字具有相同参数的重复行:
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的答案有效!
答案 0 :(得分:0)
尝试以下内容;)
DELETE t1
FROM a t1
INNER JOIN a t2
ON t1.id > t2.id
AND t1.Parameter = t2.Parameter
AND t1.Number = t2.Number;
它将保持id值最低的行。