首页 > 解决方案 > 在数据库中选择较小形状的问题

问题描述

需要你的帮助。我在 ST_Overlaps 中选择时遇到问题。

我想找到一个没有更小的形状落入这个形状的形状。

在图片上我想找到绿色块。 在此处输入图像描述

我在 MySQL 中有几何字段和坐标。并这样做:

SELECT id 
FROM figureCoords 
HAVING 
  COUNT(
   st_distance(geo_area,(SELECT geo_area FROM figureCoords))=0
  )=0

MySQL 不希望使用 st_distance 中的数组。

我怎样才能找到这个字段?

标签: mysqlsqlgeopoints

解决方案


我认为你的用途NOT EXISTS

SELECT id 
FROM figureCoords fc
WHERE NOT EXISTS (SELECT 1
                  FROM figureCoords fc2
                  WHERE st_distance(fc2.geo_area, fc2.geo_area) = 0 AND
                        fc2.id <> fc.id
                 );

推荐阅读