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

How can I calculate the distance between two positions in mysql query?

任何人都可以帮助我。在 mysql 数据库中,我有 providers table,其中包含 longitudelatitude属性,有一个用户会寻找从他那里得到 x km 之后的提供者,所以假设我有用户 longitude纬度。有什么办法可以用 mysql

它需要 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 是以英里为单位的地球半径