从SQL表中删除重复的对

时间:2019-12-04 12:00:27

标签: sql

我下面有一个表样本:

Sample dataset

此表基本上有2个重复项,即海得拉巴和班加罗尔之间的距离与孟买和德里相同。

我想从我的表中删除这些重复项。有没有办法用SQL做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以使用not existsor进行此操作:

select t.*
from t
where source < destination or
      (source > destination and
       not exists (select 1
                   from t t2
                   where t2.source = t.destination and
                         t2.destination = t.source and
                         t2.distance = t.distance
                  )
       );

这是标准的SQL,可以在任何数据库中使用。