删除重复以在sql中查询

时间:2018-04-12 12:22:00

标签: sql duplicates

输入

source Destination distance
Mumbai Pune    150
Pune   Mumbai  150
Delhi  Agra    2000

这里row1和row2是重复的。如何删除重复并加载一个表

1 个答案:

答案 0 :(得分:0)

您可以尝试使用CASE表达式对源列和目标列强加订单,从而有效地对这些列执行排序。例如:

SELECT DISTINCT
    CASE WHEN source <= destination THEN source ELSE destination END AS source,
    CASE WHEN source <= destination THEN destination ELSE source END AS destination,
    distance
FROM distances

请注意,这将重新排序目标为&lt;的行中的列。来源,例如单行bbb|aaa|1234将被选为aaa|bbb|1234。这应该不是问题,因为前两列的顺序显然是微不足道的。

要加载到新表中,您可以使用非标准SELECT (...) INTO new_table SQL查询。并非所有数据库引擎都支持它,因此它取决于您的特定产品。