우선 경도 위도를 저장할 필드를 추가해줘야 한다. DATA 타입은 아래와 같이 하면 된다. 필드 명은 적당히 변경.

이제 기준점 (127.0000000, 37.0000000)에서 DB에 저장된 지점의 거리를 계산하는 Query를 작성해보자.

SELECT id, ( 6371 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(127) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance FROM TEST_TABLE HAVING distance < 5 ORDER BY distance LIMIT 0 , 5;

위의 쿼리는 TEST_TABLE에서 기준점에서 반경 5Km 이내의 id를 거리가 가까운 순서로 5개 가져오는 것이다.

참고 : http://code.google.com/intl/ko/apis/maps/articles/phpsqlsearch_v3.html