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表示两点之间的距离。
通过这个查询函数,可以方便地计算两点之间的距离,并进行排序等操作,为应用开发提供便利。