🔗 문제 link : https://school.programmers.co.kr/learn/courses/30/lessons/301649
🖥️ 문제 풀이
SELECT ID,
CASE NTILE(4) OVER (ORDER BY SIZE_OF_COLONY DESC)
WHEN 1 THEN 'CRITICAL'
WHEN 2 THEN 'HIGH'
WHEN 3 THEN 'MEDIUM'
WHEN 4 THEN 'LOW'
END AS COLONY_NAME
FROM ECOLI_DATA
ORDER BY ID ASC;
💡 문제 해결
NTILE(n) 함수란 데이터를 정렬한 후 n개의 그룹으로 균등하게 나누고, 각 행에 그룹 번호를 부여하는 윈도우 함수
기본 문법:
NTILE(그룹수) OVER (ORDER BY 기준컬럼)
예:
NTILE(4) OVER (ORDER BY SIZE_OF_COLONY DESC)
→ SIZE_OF_COLONY를 큰 순서로 정렬 후, 전체 데이터를 4등분
'SQL Coding Test > [Programmers]' 카테고리의 다른 글
| [Programmers] 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (Lv.3) (0) | 2026.05.26 |
|---|---|
| [Programmers] 조건에 맞는 사용자 정보 조회하기 (Lv.3) (0) | 2026.05.26 |
| [Programmers] 오랜 기간 보호한 동물(2) (Lv.3) (0) | 2026.05.26 |
| [Programmers] 조건에 맞는 개발자 찾기 (Lv.2) (0) | 2026.05.24 |
| [Programmers] 연도별 대장균 크기의 편차 구하기 (Lv.2) (0) | 2026.05.23 |