如何在SQL的2列中删除具有镜像值的行



我想知道是否有一种方法可以删除包含2列的表,这些列具有镜像值(因此预期的表应该是大小的一半)。

例如,假设我有如下表1:
C1 || C2
========
A  ||  B
B  ||  A

是否存在结果仅为上述其中之一的重复数据删除查询,例如:

C1 || C2
========
A  ||  B

我想是某种内连接,但我不能理解它。

SELECT *
FROM mytable t
WHERE NOT EXISTS (
SELECT 1
FROM mytable t1
WHERE t1.c1 < t1.c2 AND t.c1 = t1.c2 AND t.c2 = t1.c1
) 

,db&lt的在小提琴

最新更新