QGis SQL查询-“删除几乎重复的条目”

时间:2018-10-29 08:35:00

标签: sql qgis

我有一张桌子,另一张桌子的所有点之间都有距离矩阵。在距离矩阵上,我只将木质灯的距离保持在100m以内。 我称距彼此不到100 m的点为重复项。但是在距离矩阵上,每个重复项需要2行 距离矩阵如下所示:

InputID TargetID Distance

   1       2       75

   1       3       35

   2       1       75

   3       1       35

我只想保留这些重复项中的一个,这意味着在上一个示例中,我只想保留1的ligne,因为2和3放置在距100m以下的位置。 1.但是,如果我仅将1保留在距离矩阵上,则还需要仅将1保留在原始表上。

我使用QGis的SQL查询工具,但是我真的不知道如何编程。有人可以帮我吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以在join中使用一些子查询来检索要删除的值

delete from my_table  m2
inner join (
  select m.distance, min(m.InputId) min_id
  from my_table  m.
  inner join (
    select distance, count(*)
    from my_table 
    group by Distance 
    having count(*) > 1 
  ) t on t.distance  = m.distance
  group by distance 
) t2 on t2.distance = m2.distance and t2.min_id  = m2.InputId