我使用的是每行有几个几何图形的表。我希望每个几何图形在我的数据库中只出现一次。我把这对夫妇按距离分类。我成功地拥有了不同的geom1或geom2,但从来没有在同一时间。这些ID与它们的相关几何图形相链接。
| id1 | id2 | distance| | id1 | id2 | distance|
| 1 | 2 | 3 | | 1 | 2 | 3 |
| 2 | 1 | 4 | -> | 2 | 1 | 7 |
| 2 | 2 | 7 |
| 1 | 1 | 9 |
我的表包含超过200万行,因此性能是个问题。
我教我创建了几个临时表,在这里我按id1和id2分组,收集丢失的值并按一次又一次分组。。。但如果有人有更好的主意,那就太神奇了。
谢谢,
最佳答案
如果我理解正确的话,你要找的是不同的三胞胎id1,id2和距离:
SELECT DISTINCT id1, id2 , distance FROM <table name>;
或
SELECT id1, id2 FROM <table name> GROUP BY id1, id2, distance;
关于sql - 在SQL中选择几列的唯一有序值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51082819/