-
[MySQL] MySQL 좌표로 범위 검색 쿼리MySQL 2021. 4. 17. 22:52반응형
# MySQL 좌표로 범위 검색 쿼리
이번에 회사 프로젝트를 진행하면서 위도와 경도 값을 사용해 특정 범위 안의 데이터만 가져와야하는 작업이 있어
해당 쿼리를 사용해 데이터를 가져오는데 성공했다. 일단 내눈에는 좀 복잡해 보여서 기록해 두어야 겠다.
// 값으로 넘겨줄 데이터 // 해당 좌표는 고덕동 입니다. // 37.56246970000000 (위도), 127.16023239999998 (경도) // DB 데이터 : lat = 위도 와 lon = 경도 // distance 는 거리 단위를 나타내며 단위는 km 이다. // query => 해당 좌표 5km 이내의 상품 데이터 SELECT *,(6371*ACOS(COS(RADIANS(37.56246970000000))*COS(RADIANS(lat))*COS(RADIANS(lon)-RADIANS(127.16023239999998)) +SIN(RADIANS(37.56246970000000))*SIN(RADIANS(lat)))) AS distance FROM goods_items HAVING distance < 5 ORDER BY distance DESC;
해당 쿼리를 통해 원하는 데이터를 찾을수 있었지만,
지금 다시 쿼리를 봐도 기록하지 않으면 또 찾아볼것같으니 기록해두자.
반응형'MySQL' 카테고리의 다른 글
[MySQL] 인덱스(INDEX) 정리 (0) 2023.04.13 [MySQL] SQL 오류(1153): Got a packet bigger than 'max_allowed_packet' bytes (0) 2021.05.31