문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
- WITH
- 가상 테이블을 만들 수 있는 방법
- NTILE()
- 지정된 수 만큼의 등급으로 나누고, 각 등급 번호를 출력
- ex. NTILE(4) : 1(0%~25%), 2(26%~50%), 3(51%~75%), 4(76%~100%)
WITH R AS (
SELECT ID, NTILE(4) OVER (ORDER BY SIZE_OF_COLONY DESC) AS PER
FROM ECOLI_DATA
)
SELECT ID,
(CASE
WHEN PER = 1
THEN 'CRITICAL'
WHEN PER = 2
THEN 'HIGH'
WHEN PER = 3
THEN 'MEDIUM'
ELSE 'LOW'
END) AS COLONY_NAME
FROM R
ORDER BY ID;
728x90