본문 바로가기
개발/mysql

mysql 위도 경도 가까운 거리 계산 쿼리문

by 향유 2020. 12. 21.

 

쿼리문 예시

SELECT 컬럼들,

(6371*acos(cos(radians(lat좌표값))*cos(radians(lat좌표값))*cos(radians(lng좌표값)

-radians(lng좌표값))+sin(radians(lat좌표값))*sin(radians(lat좌표값))))

FROM 테이블

HAVING distance <= 거리ex)1~3

ORDER BY distance

위의 쿼리가 기본 공식이다.

 

distance는 거리값을 삽입하면 되며 숫자 1당 1km를 의미한다.

 

where distance <= 1 //1키로 이하 거리만 출력

 

위와같이 사용해도 되고

(6371*acos(cos(radians(lat좌표값))*cos(radians(lat좌표값))*cos(radians(lng좌표값)

-radians(lng좌표값))+sin(radians(lat좌표값))*sin(radians(lat좌표값))))*-1

AS distance

과 같이 -1로 값을 변경해서 거리값을 - 로 치환해 센스껏 사용하는 것도 가능하다 :)

 

댓글