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 相互配合  
下面是我查出来的数据

mysql 地理位置定位-LMLPHP

下面是我 pb_area 表结构

mysql 地理位置定位-LMLPHP

05-11 19:47