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 表結構