Consider and to be two points on a 2D plane where are the respective minimum and maximum values of Northern Latitude (LAT_N) and are the respective minimum and maximum values of Western Longitude (LONG_W) in STATION.
Query the Euclidean Distance between points and and format your answer to display decimal digits.
Input Format
The STATION table is described as follows:
where LAT_N is the northern latitude and LONG_W is the western longitude.
Problem
위도와 경도로 이루어진 두 지점 간(최대값, 최소값)의 거리를 산출
Answer1
SELECT
ROUND(SQRT(POW(MAX(LONG_W)- MIN(LONG_W), 2) + POW( MAX(LAT_N)-MIN(LAT_N) ,2)),4)
FROM STATION
MAX, MIN의 값을 서브쿼리로 빼서 작성하는 방법도 있겠지만 오히려 전부다 풀어쓰는 게 더 직관적인 것 같다.
How to solve
문과생이 나한텐 가물가물한 중학교때 배운 피타고라스 정리를 사용한다.
(참고 - https://en.wikipedia.org/wiki/Euclidean_distance)
위의 공식을 쿼리문으로 작성하기만 하면 된다.
몇 가지 함수를 알아야되서 정리해본다.
POW(x, y) - x의 y 제곱 값
SQRT(x) - 양의 제곱근 값을 반환
SELECT POW(2,3);
# 결과는 8
SELECT SQRT(4);
# 결과는 2
'데이터 > SQL 문제풀이' 카테고리의 다른 글
HackerRank SQL - Top Competitors (0) | 2023.01.24 |
---|---|
HackerRank SQL - The Report (0) | 2023.01.18 |
HackerRank SQL - New Companies (0) | 2023.01.09 |
HackerRank SQL - Occupations (1) | 2023.01.06 |
HackerRank SQL - The PADS (0) | 2023.01.03 |
댓글