Mysql 拿指定經緯度與數據庫多條經緯度進行距離計算

gf67 9年前發布 | 831 次閱讀 SQL MySQL

    公式如下,單位米:
第一點經緯度:lng1 lat1
第二點經緯度:lng2 lat2
round(6378.1382asin(sqrt(pow(sin(
(lat1pi()/180-lat2pi()/180)/2),2)+cos(lat1pi()/180)cos(lat2pi()/180)

pow(sin( (lng1*pi()/180-lng2*pi()/180)/2),2)))*1000)  


例如:  
SELECT store_id,lng,lat,  
ROUND(6378.138*2*ASIN(SQRT(POW(SIN((22.299439*PI()/180-lat*PI()/180)/2),2)+COS(22.299439*PI()/180)*COS(lat*PI()/180)*POW(SIN((114.173881*PI()/180-lng*PI()/180)/2),2)))*1000)  
AS  
 juli  
FROM store_info having juli > 500  
ORDER BY juli DESC  
LIMIT 100  </pre> 


 本文由用戶 gf67 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!