如何计算mysql查询中两个位置之间的距离? [复制]

Posted

技术标签:

【中文标题】如何计算mysql查询中两个位置之间的距离? [复制]【英文标题】:How can I calculate the distance between two positions in mysql query? [duplicate] 【发布时间】:2017-05-06 13:04:35 【问题描述】:

谁能帮帮我。在 mysql 数据库中,我有 providers 表,其中包含 longitudelatitude 属性,有一个用户会寻找将在 之后的提供者>x km 距离他,所以假设我有用户 longitudelatitude。有没有办法用mysql做到这一点

【问题讨论】:

【参考方案1】:

它需要 MySQL 的内置数学函数,包括 cos()、sin()、acos() 和 radians()。

SELECT id, ( 3959 * acos( cos( radians(latitude) ) *
              cos( radians( latitude) ) 
        * cos( radians( longitude ) - radians(longitude ) )
        + sin( radians(latitude) ) * sin(radians(latitude)) ) 
    ) AS distance 
    FROM myTable

其中值 3959 是以英里为单位的地球半径

【讨论】:

以上是关于如何计算mysql查询中两个位置之间的距离? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在php中计算两个位置之间的距离(以公里为单位)?

如何计算两个位置之间的距离?

如何使用它们的经度和纬度值计算两个位置之间的距离

mysql中的ST_Distance_Sphere没有给出两个位置之间的准确距离

怎么查两个地点之间的城市

地图上的两点怎样计算距离