<!--
下面的#{lat}、#{lng}分别代表经纬度参数,将自身经纬度和数据库中商家经纬度比较
6378.138为地球半径
距离单位是 m
-->
SELECT id,address,name, SETPOSX, SETPOSY,
ROUND(
6378.138 * 2 * ASIN(
SQRT(
POW(
SIN(
(
#{lat} * PI() / 180 - SETPOSY * PI() / 180
) / 2
),
2
) + COS(#{lat} * PI() / 180) * COS(SETPOSY * PI() / 180) * POW(
SIN(
(
#{lng} * PI() / 180 - SETPOSX * PI() / 180
) / 2
),
2
)
)
) * 1000
) AS distance
FROM
store
<!--WHERE-->
<!--`SETSTATUS` = 1-->
<!--<if test="lastdate != null">-->
<!--HAVING-->
<!--distance > #{lastdate}-->
<!--</if>-->
ORDER BY distance ASC LIMIT 30