使用
在用户表上运行此查询: (列表中距离点9.45公里以内的用户)
但是,在查询中减去1米:
有没有人遇到过这种类型的查询类似的问题?我很难弄清楚这里发生了什么。
我正在使用MySQL 5.7
谢谢!
编辑:进一步测试显示,该查询在小数据集(<〜2-3k行)上运行正常,但在更大的数据集上则出现错误。非常奇怪。
st_distance_sphere
时,MySQL返回的结果似乎非常不稳定。在用户表上运行此查询: (列表中距离点9.45公里以内的用户)
select *, st_distance_sphere(`location`, ST_GeomFromText('point(-74.0104915 45.5576996)')) as distance from `users` having `distance` < 9450
返回正确的结果。但是,在查询中减去1米:
select *, st_distance_sphere(`location`, ST_GeomFromText('point(-74.0104915 45.5576996)')) as distance from `users` having `distance` < 9449
会给出这个SQL语法错误:#1210 - Incorrect arguments to st_distance_sphere
我还注意到添加一个limit
语句会改变查询断开的位置,具体取决于限制数字。有没有人遇到过这种类型的查询类似的问题?我很难弄清楚这里发生了什么。
我正在使用MySQL 5.7
谢谢!
编辑:进一步测试显示,该查询在小数据集(<〜2-3k行)上运行正常,但在更大的数据集上则出现错误。非常奇怪。
members
表格中是否有location
列? - ItsPete