SQL-删除对称重复项

时间:2015-10-13 14:01:58

标签: mysql sql

我有一个名为 rates 的数据库表,其中包含四个外键和一个十进制数量(理解主键)。我正在使用MY-SQL数据库5.6.17。我怀疑数据包含反向组合的重复数量 point_id_2 point_id_2 。其他两个外键 method_id class_id 似乎在相应的元组中进行镜像,这些元组似乎具有重复的金额。见下图。

enter image description here

如果你看一下外键,那就是point_id_1,point_id_2,这就是我的意思,"对称数据"。

是否可以追踪point_id_1和point_id_2互换且数量相同的所有行? 这样我就可以决定要删除哪些行。

1 个答案:

答案 0 :(得分:0)

所以,您只想知道两个POINT_ID字段中是否有相同数量的重复项?您只需要在您认为匹配的字段上进行简单连接:

SELECT r1.*, r2.*
FROM
 rates r1 
 INNER JOIN rates r2
 ON r1.point_ID_1 = r2.point_ID_2 AND r1.point_ID_2 = r2.point_ID_1
WHERE
  r1.amount = r2.amount