오랑우탄의 반란
HackerRank | Weather Observation Station 20 (MySQL) 중앙값 percent_rank 본문
SQL/HackerRank
HackerRank | Weather Observation Station 20 (MySQL) 중앙값 percent_rank
5&2 2024. 9. 26. 15:53반응형
오랜만에 오랑이는 문제를 풉니다.
Weather Observation Station 20
A median is defined as a number separating the higher half of a data set from the lower half. Query the median of the Northern Latitudes (LAT_N) from STATION and round your answer to decimal places.
Input Format
The STATION table is described as follows where LAT_N is the northern latitude and LONG_W is the western longitude.
중앙값을 구하는 문제입니다.
Oracle의 경우 MEDIAN 이라는 함수를 제공하기에 손쉽게 구할 수 있는데 MySQL에는 없는 함수여서 다른 방법을 찾아야 한다는 점.. 이때 윈도우 함수 중 백분율 순위를 계산해주는 PERCENT_RANK 함수를 사용하면 간단하게 구할 수 있습니다.
PERCENT_RANK 즉 백분율이 50%이면 중앙값이라는 의미기 때문에 인라인 뷰 서브쿼리로 MEDIAN을 구해준 후 WHERE 조건으로 =0.5를 붙여주면 완성입니다.
SELECT ROUND(LAT_N,4)
FROM (SELECT LAT_N, PERCENT_RANK() OVER (ORDER BY LAT_N) AS MEDIAN
FROM STATION) A
WHERE MEDIAN=0.5
오랑우탄이 영어를 하고 오랑이가 쿼리마스터가 되는 그날까지~
반응형
'SQL > HackerRank' 카테고리의 다른 글
HackerRank | Symmetric Pairs (MySQL) (0) | 2024.10.10 |
---|---|
HackerRank | SQL Project Planning (MySQL) (2) | 2024.10.02 |