用于查找半径内位置的 MySQL 查询
处理地理空间数据时使用搜索指定半径内位置的查询。在这种情况下,需要一个查询来检索给定纬度和经度的 25 英里半径内的所有行。但是,原始查询并未返回所有行的准确结果。
改进的查询
改进的查询通过使用更准确的公式计算行间距:
SELECT `id`, ( 6371 * acos( cos( radians( :lat ) ) * cos( radians( `lat` ) ) * cos( radians( `long` ) - radians( :long ) ) + sin(radians(:lat)) * sin(radians(`lat`)) ) ) `distance` FROM `location` HAVING `distance` < :distance ORDER BY `distance` LIMIT 25
说明
参数
使用此改进的查询,可以准确检索指定半径内的所有行,消除原始查询中出现的错误结果。
以上是以下是一些标题选项,其风格和重点各不相同: **直接且信息丰富:** * **如何使用 MySQL 查找半径内的位置:改进的查询** * **准确的地理位置搜索的详细内容。更多信息请关注PHP中文网其他相关文章!