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'SQL > SELECT' 카테고리의 다른 글
| [프로그래머스 SQL] Lv.4 - 오프라인/온라인 판매 데이터 통합하기 (0) | 2025.03.06 |
|---|---|
| [프로그래머스 SQL] Lv.4 - 서울에 위치한 식당 목록 출력하기 (0) | 2025.03.05 |
| [프로그래머스 SQL] Lv.3 - 대장균의 크기에 따라 분류하기 1 (0) | 2025.03.04 |
| [프로그래머스 SQL] Lv.3 - 대장균들의 자식의 수 구하기 (0) | 2025.03.04 |
| [프로그래머스 SQL] Lv.2 - 부모의 형질을 모두 가지는 대장균 찾기 (0) | 2025.03.01 |