【发布时间】:2021-03-15 12:38:48
【问题描述】:
我想将我的表与自身连接以检查在特定列上具有相似值的行,但我想删除隐式重复行,即通过执行以下查询:
SELECT a1.id, a2.id
FROM table_1 a1
JOIN table_1 a2
ON a1.column_x = a2.column_x
AND a1.id <> a2.id ;
我得到了:
id | id
----+-----
28 | 27
27 | 28
47 | 48
48 | 47
...
我想要得到的是:
id | id
----+-----
28 | 27
47 | 48
请问我该如何实现?
【问题讨论】:
-
AND a1.id > a2.i -
如果有 (33, 34) 行但没有 (34, 33) 行,预期结果是什么?
-
是的,我也应该显示 (33, 34)
-
接受的答案不会返回 (33, 34)。
-
我没有这种情况。全部重复!
标签: sql postgresql join