반응형
쿼리 설명
- 하버사인 공식(Haversine formula)을 이용한 방법
지구를 구와 비슷한 모양으로 가정하고, 지구의 반지름을 이용하여 두 지점 사이의 거리를 계산하는 공식 - Latitude(lat) : 위도 36~38
- Longitude(lng) : 경도 126~128
- 거리 작성 시 1 = 1km / 0.1 = 100m
`
쿼리 예시
- slLat, slLng : 첫번째 지점의 위도/경도 좌표가 되는 값
- lat좌표값, lng좌표값 : 첫번째 지점으로부터 거리를 비교할 지점의 위도/경도 좌표가 되는 값
SELECT
가져올컬럼
, (6371 *
ACOS(COS(RADIANS(lat좌표값)) * COS(RADIANS(slLat)) * COS(RADIANS(slLng) - RADIANS(lng좌표값))
+ SIN(RADIANS(lat좌표값)) * SIN(RADIANS(slLat)))
) AS DISTANCE
FROM 대상테이블
HAVING DISTANCE <= 거리
ORDER BY DISTANCE
LIMIT 0,1000
반응형
'Develops > SQL' 카테고리의 다른 글
[ORACLE] NVL, NVL2, NULLIF, COALESCE 함수 (NULL 값 처리, 치환 등) (0) | 2024.08.03 |
---|---|
[ORCALE] DECODE 함수 (SQL로 IF ELSE 구문 사용하기) (0) | 2024.08.03 |
[PostgreSQL] GENERATE_SERIES 사용 예시 (범위 안의 일련의 값 생성) (0) | 2024.07.21 |
[Tibero] AGGR_CONCAT 함수 (여러 행을 하나의 값으로 합치기) (0) | 2024.07.14 |
[Mybatis] Mybatis 파라미터 ${}(Literal)과 #{}(bind)의 차이점 (0) | 2024.03.30 |