※ 대장균의 크기에 따라 분류하기 2
https://school.programmers.co.kr/learn/courses/30/lessons/301649
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 해결 TIP
문제의 조건에 따라 값이 정해져야 하므로 CASE WHEN 조건문을 사용할 수 있다. 이때, 개체의 크기 순별로 조건이 나뉜다. PERCENT_RANK함수는 인수로 지정한 값의 그룹 내의 상대적 위치를 나타내는 백분위수 순위를 반환한다. 서브쿼리의 결과는 다음과 같다.
전체 코드
SELECT A.ID,
CASE
WHEN A.PER <= 0.25 THEN 'CRITICAL'
WHEN A.PER <= 0.5 THEN 'HIGH'
WHEN A.PER <= 0.75 THEN 'MEDIUM'
ELSE 'LOW'
END AS COLONY_NAME
FROM(
SELECT ID,
PERCENT_RANK() OVER (ORDER BY SIZE_OF_COLONY DESC) AS PER
FROM ECOLI_DATA
) AS A
ORDER BY A.ID;
'SQL' 카테고리의 다른 글
[SQL] 대장균들의 자식의 수 구하기, LEFT JOIN, COALESCE, GROUP BY (0) | 2024.07.10 |
---|---|
[SQL] 물고기 종류 별 대어 찾기, GROUP BY, JOIN (0) | 2024.07.10 |
[SQL] 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기, GROUP BY, IFNULL (0) | 2024.07.09 |
[SQL] 분기별 분화된 대장균의 개체 수 구하기, CASE WHEN (0) | 2024.07.08 |
[SQL] 프로그래머스 대장균의 크기에 따라 분류하기 1, CASE WHEN (0) | 2024.07.08 |
댓글