column1 column2
x y
y x
Run Code Online (Sandbox Code Playgroud)
如何消除这种重复?或在最坏的情况下只选择其中一个元组?
隐瞒我们正在处理的RDBMS信息已成为提问者中的一种主流习惯。作为回应:这已经过测试并且可以与某些我不愿透露姓名的RDBMS一起使用。去搞清楚!
DELETE FROM tbl a
USING tbl b
WHERE (a.x, a.y) = (b.y, b.x)
AND a.y > a.x -- keep the one dupe with the biggest x
Run Code Online (Sandbox Code Playgroud)
假设没有与的欺骗x = y。无论如何,这将是普通副本。