MySQL是一款廣泛應用的關系型數據庫管理系統,提供了許多常用的查詢函數,其中求兩點之間距離是常見需求之一。
SELECT id, name, ( 6371 * ACOS( COS( RADIANS( l1.lat ) ) * COS( RADIANS( l2.lat ) ) * COS( RADIANS( l2.lng ) - RADIANS( l1.lng ) ) + SIN( RADIANS( l1.lat ) ) * SIN( RADIANS( l2.lat ) ) ) ) AS distance FROM locations AS l1 JOIN locations AS l2 ON l1.id<>l2.id WHERE l1.id = 1 ORDER BY distance ASC;
上述代碼中,l1和l2分別表示兩點的經緯度,6371表示地球的半徑,ACOS表示反余弦函數,RADIANS表示將角度轉換為弧度,distance表示兩點之間的距離。
通過這個查詢函數,可以方便地計算兩點之間的距離,并進行排序等操作,為應用開發提供便利。
上一篇mysql求兩個值總和
下一篇mysql求兩個數的和