SELECT
fc.*,
ifnull(
round(
6378.138 * 2 * asin(
sqrt(
pow( sin( ( 要查询的地点纬度 * pi( ) / 180-数据库中的维度字段 * pi( ) / 180 ) / 2 ), 2 ) + cos( 要查询的地点纬度 * pi( ) / 180 ) * cos( 数据库中的维度字段 * pi( ) / 180 ) * pow( sin( ( 要查询的地点经度 * pi( ) / 180-数据库中的经度字段 * pi( ) / 180 ) / 2 ), 2 )
)
) * 1000
),
0
) distance
FROM
fende_community fc
如增加距离限制
WHERE
round(
6378.138 * 2 * asin(
sqrt(
pow( sin( ( 要查询的地点纬度 * pi( ) / 180-数据库中的维度字段 * pi( ) / 180 ) / 2 ), 2 ) + cos( 要查询的地点纬度 * pi( ) / 180 ) * cos( 数据库中的维度字段 * pi( ) / 180 ) * pow( sin( ( 要查询的地点经度 * pi( ) / 180-数据库中的经度字段 * pi( ) / 180 ) / 2 ), 2 )
)
) * 1000
) <= 或 >= 多少米
//排序ASC为最近 DESC最远
ORDER BY
distance ASC