SQL
[mysql] Weather Observation Station 20
김랑해
2024. 5. 3. 15:08
https://www.hackerrank.com/challenges/weather-observation-station-20/problem?isFullScreen=true
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은 median() 함수를 지원하지 않는다.
그래서 mysql에서는 percent_rank() 함수를 활용해야 한다.
PERCENT_RANK() OVER(ORDER BY A ) AS 별칭
이렇게 지정해주면 된다 그럼 A열을 기준으로 정렬을 한 뒤 0~1사이의 백분율 값을 별칭이라는 열에 만들어준다
몰라서 지피티한테 물어봄
암튼 그래서 코드를 짜보면
SELECT ROUND(LAT_N,4)
FROM (SELECT LAT_N, PERCENT_RANK() OVER (ORDER BY LAT_N ASC) AS PERCENT
FROM STATION) AS S
WHERE S.PERCENT = 0.5;
이렇게 된다
LEARNING POINT
1. mysql에서 중앙값을 구하려면 percent_rank() 함수를 이용하여 백분율이 0.5인 것을 찾아내면 된다