해커랭크 [Weather Observation Station 20]

윤태영·2024년 8월 27일
0

문제

https://www.hackerrank.com/challenges/weather-observation-station-20/problem?isFullScreen=true

중앙값은 상위절반과 하위절반을 구분하는 숫자로 정의 됩니다.

STATION에서 북위도(LAT_N) 중앙값을 구하고 소수점 이하 4자리로 답을 반올림합니다.

INPUT FORMAT

TABLE NAME : STATION

문제풀이

  • PERCENT_RANK 함수를 활용해 백분위 수를 매기고 그 랭킹의 50% 즉, 0.5를 찾으면 중간값을 찾을 수 있다

  • PERCENT_RANK() 함수는 SQL에서 윈도우 함수 중 하나로, 특정 행이 전체 결과 집합에서 차지하는 순위를 백분율로 계산합니다. 이 함수는 행이 얼마나 앞서거나 뒤처져 있는지를 0에서 1 사이의 값으로 나타냅니다.

  • MySQL은 FROM절 서브쿼리에 ALIAS를 설정하지 않으면 오류가 발생하니 필수 ALIAS설정해야한다

쿼리

SELECT ROUND(LAT_N,4)
FROM(
             SELECT LAT_N,
             PERCENT_RANK() OVER(ORDER BY LAT_N ASC) AS PE
			 FROM STATION
    ) AS CTE
WHERE PE = 0.5
profile
ice blue

0개의 댓글