您的位置:首页 > 数据库 > MySQL

使用 MySQL 查找附近的位置

2016-04-21 00:00 387 查看

以下 SQL 语句将会在与坐标 37, -122 相距 25 英里的半径范围内查找最近的 20 个位置。该语句根据行的纬度/经度以及目标纬度/经度计算距离,然后只请求距离值小于 25 的行,最后再按距离对整个查询进行排序,并将查询结果限制为只显示 20 个。要按公里而非英里进行搜索,请将 3959 替换为 6371。

SELECT id, ( 3959 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < 25 ORDER BY distance LIMIT 0 , 20;

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: