문제
풀이
- 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