MySQL - Geo - 获取最近的坐标给定教区

时间:2013-07-03 23:25:25

标签: mysql sql

以下是我用于在给定的lat / lng坐标的给定距离内定位教区的SQL:

SELECT record_id as parish_id, parish, church, ( 3959 * acos( cos( radians(#sLat#) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(#sLng#) ) + sin( radians(#sLat#) ) * sin( radians( lat ) ) ) ) AS distance 
FROM parishes
HAVING distance < #arguments.dist# 
ORDER BY distance 
LIMIT 0 , 20;

如何更改此查询以仅获得给定坐标的非常CLOSEST教区?

1 个答案:

答案 0 :(得分:2)

您目前使用以下声明限制为20:

LIMIT 0,20

您可以将此更改为:

LIMIT 1

它将是最接近的,因为您按distance排序。