Lv3. 대장균의 크기에 따라 분류하기 2
링크: https://school.programmers.co.kr/learn/courses/30/lessons/301649
내가 작성한 코드
-- 풀이1 (서브쿼리)
SELECT ID,
CASE WHEN Q = 1 THEN 'CRITICAL'
WHEN Q = 2 THEN 'HIGH'
WHEN Q = 3 THEN 'MEDIUM'
ELSE 'LOW' END AS COLONY_NAME
FROM (SELECT ID, NTILE(4) OVER (ORDER BY SIZE_OF_COLONY DESC) AS Q
FROM ECOLI_DATA) SUB
ORDER BY ID;
-- 풀이2 (WITH)
WITH SUB AS (SELECT ID, NTILE(4) OVER (ORDER BY SIZE_OF_COLONY DESC) AS Q
FROM ECOLI_DATA)
SELECT ID,
CASE WHEN Q = 1 THEN 'CRITICAL'
WHEN Q = 2 THEN 'HIGH'
WHEN Q = 3 THEN 'MEDIUM'
ELSE 'LOW' END AS COLONY_NAME
FROM SUB
ORDER BY ID;
NTILE(4) : 전체 데이터를 4개의 그룹(사분위수)으로 균등하게 분할
'코딩테스트' 카테고리의 다른 글
| [26.03.03 코테(MySQL)]-특정 형질을 가지는 대장균 찾기 (0) | 2026.03.03 |
|---|---|
| [26.03.02 코테(MySQL)]-대장균들의 자식의 수 구하기 (0) | 2026.03.02 |
| [26.02.26 코테(MySQL)]-멸종위기의 대장균 찾기 (0) | 2026.02.26 |
| [26.02.25 코테(MySQL)]-업그레이드 된 아이템 구하기 (0) | 2026.02.25 |
| [26.02.24 코테(MySQL/Oracle)]-조회수가 가장 많은 중고 게시판의 첨부파일 조회하기 (0) | 2026.02.24 |