본문 바로가기
SQL/MySQL

[MySQL] HackerRank - Weather Observation Station 20 문제 풀이

by 취준생 져니 2025. 3. 19.

문제 사이트

아래 문제는 해커랭크에서 추출해온 문제입니다. 문제의 저작권은 해커랭크에 있으며 문제를 풀어보시려면 아래 링크를 클릭해주세요 🙂



 

Weather Observation Station 20 | HackerRank

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

www.hackerrank.com

 

 

 


 

 

 

👉문제 설명

  • LAT_N의 중앙값 구하는 문제
  • MySQL에서는 중앙값 함수를 따로 지원하지 않기 때문에 따로 만들어줘야 함

 

 

 

 

👉문제 풀이 과정

  1. PERCENT_RANK 사용
PERCENT_RANK() OVER (PARTITION BY 컬럼명 ORDER BY 컬럼명)

 

PARTITION BY : 특정 그룹별로 백분위 순위를 계산할 때 사용 (생략 가능)

ORDER BY : 순위를 매길 기준 컬럼을 지정

 

 

 

 

👉최종 답안 

SELECT ROUND(LAT_N, 4)
FROM (SELECT LAT_N, PERCENT_RANK() OVER (ORDER BY LAT_N) AS percent 
      FROM STATION
      ) AS A
WHERE percent = 0.5

 

 

 

 

 

👉고찰

PERCENT_RANK()를 처음 써봤다! 순서대로 상위 %를 구할 때도 편리할 거 같다

서브쿼리에는 as로 이름을 정해줘야 한