SQL/SELECT
[프로그래머스 SQL] Lv.3 - 대장균의 크기에 따라 분류하기 2
이런개발
2025. 3. 4. 09:29
https://school.programmers.co.kr/learn/courses/30/lessons/301649
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 풀이
- ID를 기준으로 오름차순 정렬한다.
- ID와 분류된 이름을 조회한다. 분류는 개체의 크기 기준 4등급으로 분류해야 한다. 따라서 윈도우 함수 중에 비율 함수 NTILE 키워드를 사용한다. 개체의 크기를 내림차순 정렬했을 때 이것을 4등급으로 분류한다. 총 데이터의 수는 항상 4의 배수이기 때문에 특별히 고려할 것은 없어 보인다. (윈도우 함수는 항상 OVER 키워드와 함께 사용한다.)
SELECT
ID,
CASE NTILE(4) OVER(ORDER BY SIZE_OF_COLONY DESC)
WHEN 1 THEN 'CRITICAL'
WHEN 2 THEN 'HIGH'
WHEN 3 THEN 'MEDIUM'
ELSE 'LOW'
END AS COLONY_NAME
FROM
ECOLI_DATA
ORDER BY
ID