【发布时间】:2012-06-15 08:35:27
【问题描述】:
我有一个 PostgreSQL 表,描述了两点之间的线。它包含两列,A 和 B,表示一个点的 id 的整数(在另一个表中描述)。
但是表格中的每一行都是重复的,因为从 A 到 B 的线与从 B 到 A 的线相同。
我想删除重复项,但我找不到在两列上工作的聚合函数,重新组合 AB 和 BA 行然后删除一个。
谢谢:)
【问题讨论】:
-
在这种情况下,我至少可以通过两种可能的方式来设想复制。
1).,Lines表包含一条指向point_id(1), point_id(2)的记录和一条指向point_id(2), point_id(1)的记录。2.这两行都有不同的point_id 值,但是当你查看point表时,不同的point_id 可以有相同的坐标。能否举例说明一下? -
感谢您的评论。重复项在 point_ids 中,而不是在坐标中,所以这是您问题的第一种情况。而且,所有的行都是重复的,每一个AB行都有一个BA行,这是建表算法的结果。
标签: sql postgresql duplicates aggregate-functions