SELECT 가져올컬럼,
(6371*acos(cos(radians(nowlatitude))*cos(radians(setlatitude))*cos(radians(sethardness)
-radians(nowhardness))+sin(radians(nowlatitude))*sin(radians(setlatitude))))
AS distance
FROM 대상테이블
HAVING distance <= 거리
ORDER BY distance
nowlatitude 는 위도
nowhardness는 경도
selatitude 는 db의 위도 컬럼
sethardness는 db의 경도 컬럼을 삽입하면된다.
나의 경우 다음과 같이 사용했다.
$lat,$lng 으로 데이터를 받고 해당하는 정보들을 return해주었다.
SELECT *,
(6371*acos(cos(radians($lat))*cos(radians(lat))*cos(radians(lng)
-radians($lng))+sin(radians($lat))*sin(radians(lat))))
AS distance
FROM v2_care
HAVING distance <= 3
ORDER BY distance
LIMIT 0,100
'정보' 카테고리의 다른 글
postgresql 명령어 모음 (0) | 2019.01.12 |
---|---|
cap 이론 (1) | 2018.11.19 |
storage engine 이란? (0) | 2018.11.07 |
하이퍼링크 클릭시 크롬으로 여는 방법 (2) | 2018.10.30 |
정형 데이터? 반정형 데이터? 비정형 데이터? (0) | 2018.10.23 |