coding/sql 코딩테스트
PERCENT_RANK()
임이레
2025. 4. 4. 18:28
PERCENT_RANK() 는 주어진 값이 데이터 세트 내에서 어느 위치에 해당하는지 백분위로 계산하는 윈도우 함수이다.
해커랭크에서 중위값을 계산할때 median 함수가 없는 MYSQL 내에서 사용하기 좋다.
주로 순위 랭크함수와 관련된 계산에서 사용되고 데이터 분포를 기반으로 상대적인 순위를 제공한다.
PERCENT_RANK() OVER (ORDER BY column_name)
1. 특정 열에 대해 상대적 백분위 순위 계산
2. ORDER BY 사용이 중요하다! 백분위 계산의 기준이 되는 열을 지정하기 때문
3. 0-1 사이의 값으로 결과가 나타나고 해당 값이 데이터 집합 내에서 상대적으로 몇 번째 위치에 있는지 나타낸다.
해커랭크의 아래 문제에서 사용된 PERCENT_RANK()
- Weather Observation Station 20
SELECT ROUND(LAT_N ,4)
FROM (
SELECT LAT_N
, PERCENT_RANK() OVER (ORDER BY LAT_N) AS mid
FROM STATION
) as p
WHERE mid = 0.5