0

正如我之前问的那样,mysql中几何列的col in()子句

我的表中有很多点,我想通过一个查询从表中找到多个点,有人建议在 MySQL 中使用 MBRWithin()MBRContains()地理空间函数,但我不知道如何使用这些函数像这样的Where in()查询有多个点:

SELECT id, asText(latlng) FROM points WHERE asText(latlng) in ('POINT(35.80684 51.427820000000004)','POINT(35.72343 51.303200000000004)')

可以帮我选择多点吗?

谢谢

4

1 回答 1

0

好吧,现在您正在搜索字符串“POINT(35.80684 51.427820000000004)”而不是函数的值,所以我们肯定要更改它。

在这种情况下,使用单个条件而不是 IN 语句可能更容易

SELECT 
  id
, asText(latlng) 
FROM points 
WHERE (   asText(latlng) = POINT(35.80684 51.427820000000004)
       OR asText(latlng) = POINT(35.72343 51.303200000000004)
       OR …
      )
于 2013-10-25T12:32:51.553 回答