SET @pt2 = ST_GeomFromText('POINT(116.405289 39.904987)'); SELECT *,ST_Distance_Sphere(ST_GeomFromText(CONCAT('POINT(',lng,' ',lat,')')), @pt2) as aa FROM pb_area WHERE ST_Distance_Sphere(ST_GeomFromText(CONCAT('POINT(',lng,' ',lat,')')), @pt2) < 10000 ORDER BY aa
小弟也是刚刚学习 还有很多不理解 目前这个sql 只是一个意见 如果有不同想法 可以留言
ST_GeomFromText : mysql里的一个方法
POINT: 第一个参数是 经度 第二个参数是 纬度
ST_Distance_Sphere : 也是mysql里的方法 传入两个 经度纬度 它会帮你算出 两点之间的局里
ST_Distance_Sphere 这个方法 要与 ST_GeomFromText 相互配合
下面是我查出来的数据
下面是我 pb_area 表结构