1. 程式人生 > >陳永鵬Yoperchen的專欄

陳永鵬Yoperchen的專欄

通過經緯度,用sql語句查詢出附近的人,歡迎加入技術交流QQ群201923866、320205320、370648191。

TABLE_NAME 表結構,分別是自增ID,城市ID,經緯度

id city_id y x

1 1901 22.982087 113.318505

2 1901 23.079377 113.298556

LAT/LNG分別是緯度經度,由客戶端傳過來的

select city_id,y,x,ACOS(SIN((LAT * 3.1415) / 180) * SIN((y * 3.1415) / 180 ) + COS((LAT* 3.1415) / 180 ) * COS((y * 3.1415) / 180 ) *COS((LNG

* 3.1415) / 180 - (x * 3.1415) / 180 ) ) * 6380 as distance from TABLE_NAME WHERE city_id=1901 ORDER BY distance

mysql示例

select city_id,y,x,ACOS(SIN((23.13678584271096 * 3.1415) / 180) * SIN((y * 3.1415) / 180 ) + COS((23.13678584271096 * 3.1415) / 180 ) * COS((y * 3.1415) / 180 ) *COS((113.2937260476958* 3.1415) / 180 - (x * 3.1415) / 180 ) ) * 6380 as distance fromTABLE_NAME 

WHERE city_id=1901 ORDER BY distance

歡迎關注我時不時就瞎吐槽的個人公眾號零零糖,一個軟體工程師每天晚上陪你在枕邊聊天就問你怕不怕!