我有列id,名称,位置的表区域。列位置为点类型并存储位置(纬度、经度)。
我在这里读到了一个在mysql中使用point数据类型和st\u distance\u sphere查找最近位置的解决方案。但当我在mysql工作台中运行以下查询时,我得到一个消息:ok。我想查看所有符合此条件的行。
select
id,name,
st_distance_sphere(`position`, st_geomfromtext('Point(77.058210 28.632955)', 4326)) as distance
from areas
order by distance asc;
1条答案
按热度按时间epfja78i1#
您可能需要检查如何构造点。点构造函数的第一个参数是经度。
如果你把它倒过来,那么你就不会得到任何结果,因为它是无法计算的。但是查询本身并没有错,因此返回消息ok。