我正在使用SQLite存储一组无向图的边,使用两列u和v。例如:
u v
1 2
3 2
2 1
3 4
我已经通过SELECT DISTINCT * FROM edges查询并删除了所有重复行。
但是,如果我们记得这些是无向边,则仍然存在重复项。在上面的示例中,边缘(1,2)出现两次,一次为(1,2),一次为(2,1),它们都是等价的。
我希望删除所有这样的重复项,只留下其中一个,无论是(1,2)还是(2,1) - 这并不重要。
有什么好的方法可实现此目的吗?谢谢!
1 2
3 2
2 1
3 4
我已经通过SELECT DISTINCT * FROM edges查询并删除了所有重复行。
但是,如果我们记得这些是无向边,则仍然存在重复项。在上面的示例中,边缘(1,2)出现两次,一次为(1,2),一次为(2,1),它们都是等价的。
我希望删除所有这样的重复项,只留下其中一个,无论是(1,2)还是(2,1) - 这并不重要。
有什么好的方法可实现此目的吗?谢谢!
SELECT DISTINCT v1.pin14 FROM parcels v1 WHERE EXISTS ( SELECT v2.pin14 FROM parcels v2 WHERE st_touches(v1.geom, v2.geom) )
- stevevance