쿼리문 예시
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로 값을 변경해서 거리값을 - 로 치환해 센스껏 사용하는 것도 가능하다 :)
'개발 > mysql' 카테고리의 다른 글
mysql index란 무엇인가? DB속도 높이는 간단한 방법들 소개 (0) | 2022.05.10 |
---|---|
시작일 종료일 기준 전 포함 후 체크하는 쿼리문 (0) | 2021.08.13 |
mysql 여러 개의 행을 하나의열 하나의 필드로 (0) | 2021.08.10 |
mysql php start_date end_date beetween 사이 검색 구하기 (0) | 2021.07.26 |
sqlyog 외래키 연결 (0) | 2021.06.03 |
댓글