我有两列,如下所示,我想删除重复项。
Column1 Column2
1 10
2 9
3 8
4 7
5 6
6 5
7 4
8 3
9 2
10 1
我想删除其中一半的条目,这样只有5行:
Column1 Column2
1 10
2 9
3 8
4 7
5 6
有什么想法吗?我知道如何在C#中执行它并删除如果有重复然后删除但我想在SQL中执行它。值表示ID和ID之间的关系。秩序在关系中无关紧要,因此1-10与10-1相同。因此,这种方式存在重复关系。
答案 0 :(得分:1)
一种方法如下:
DELETE t FROM MyTable t
WHERE t.Column1 > t.Column2 AND EXISTS (
SELECT * FROM MyTable tt
WHERE t.Column1=tt.Column2 AND t.Column2=tt.Column1
)
t.Column1 > t.Column2
表示如果有一对匹配的行,请删除Column1
大于Column2
的行。