gpt4 book ai didi

mysql - 使用MySQL计算两个经纬度之间的距离(km)

转载 作者:行者123 更新时间:2023-11-29 06:57:29 31 4
gpt4 key购买 nike

这是 mysql 数据库中的纬度和经度示例

ID | Lat    | Lon
1 | 3.1412 | 101.6865
2 | 1.2897 | 103.8501

下面的公式计算两个 Lat(纬度)和 Lon(经度)之间的距离,并得到我想要的结果。但这个公式不会从数据库中提取我的纬度和经度。我想问一下,如何通过ID得到距离结果并计算两个Lat和Lon?我的 friend 告诉我使用 Join table,但我仍然没有得到答案..

SELECT ROUND(6353 * 2 * ASIN(SQRT( POWER(SIN((3.1412 -
abs(1.2897)) * pi()/180 / 2),2) + COS(3.1412 * pi()/180 ) * COS(
abs(1.2897) * pi()/180) * POWER(SIN((101.6865 - 103.8501) * pi()/180 / 2), 2) )), 2);

感谢您的提前

最佳答案

您可以两次加入同一个表,一次为 ID 1,一次为 ID 2,分配不同的别名 然后使用相关的列名称

  SELECT ROUND(6353 * 2 * ASIN(SQRT( POWER(SIN((a.lat -
abs(b.lat)) * pi()/180 / 2),2) + COS(a.lat * pi()/180 ) * COS(
abs(b.lat) * pi()/180) * POWER(SIN((a.lng - b.lng) * pi()/180 / 2), 2) )), 2);
from my_table a
inner join my_table b on a.id = 1 and b.id = 2

关于mysql - 使用MySQL计算两个经纬度之间的距离(km),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45008568/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com