오랑우탄의 반란

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

 

 


 

오랑우탄이 영어를 하고 오랑이가 쿼리마스터가 되는 그날까지~

 

 

 

 

Weather Observation Station 20 | HackerRank

Query the median of Northern Latitudes in STATION and round to 4 decimal places.

www.hackerrank.com

 

반응형

'SQL > HackerRank' 카테고리의 다른 글

HackerRank | Symmetric Pairs (MySQL)  (0) 2024.10.10
HackerRank | SQL Project Planning (MySQL)  (2) 2024.10.02