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

 

문제 풀이

  1. ID를 기준으로 오름차순 정렬한다.
  2. 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