删除重复的双向链接行SQL

时间:2014-09-12 20:04:55

标签: sql sql-server duplicates

我有两列,如下所示,我想删除重复项。

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相同。因此,这种方式存在重复关系。

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的行。

Demo.

相关问题