Voy*_*eck 2 sql postgresql postgis
我有一个包含几何线(路)的表。有些线具有唯一的几何形状(不重复),有些线具有相同的几何形状(2、3、4 等)。我只想列出独特的。例如,如果有两条具有相同几何形状的线,我想删除它们。我尝试了 DISTINCT,但它也显示了重复行的第一个结果。我只想看到那些独特的。我尝试了窗口函数,但得到了类似的结果(我在第一行从重复的计数器中得到了一个计数器)。很抱歉提出了一个新手问题,但我正在学习:) 谢谢!
例子:
way|
1 |
1 |
2 |
3 |
3 |
4 |
Run Code Online (Sandbox Code Playgroud)
结果应该是:
way|
2 |
4 |
Run Code Online (Sandbox Code Playgroud)
这确实有效。多谢。我还在该表中以各种方式添加了其他标签(名称、引用和其他一些标签),当我将它们添加到查询中时,我松开了隔离。
select count(way), way, name
from planet_osm_line
group by way, name
having count(way) = 1;
Run Code Online (Sandbox Code Playgroud)
如果查询中没有“名称”,我会列出所有唯一值,但我想为每一行保留“名称”。通过这个例子,我仍然会得到列出的表中的所有行。
详细阐述@Nithila 的回答:
select count(way), way
from your_table
group by way
having count(way) = 1;
Run Code Online (Sandbox Code Playgroud)