본문 바로가기

DB/Programmers SQL Kit

[My_SQL] 대장균의 크기에 따라 분류하기 2

문제

 

percent_rank를 알고 있다면 쉽게 풀 수 있는 문제이다. 

퍼센트로 랭크를 나눈 테이블을 기준으로 CASE문을 사용하여 풀었다.

코드

WITH value as (SELECT id, percent_rank() over (ORDER BY size_of_colony desc) as percent
FROM ECOLI_DATA)

SELECT id, 
CASE WHEN percent <= 0.25 THEN 'CRITICAL'
     WHEN percent <= 0.50 THEN 'HIGH'
     WHEN percent <= 0.75 THEN 'MEDIUM'
     ELSE 'LOW'
END as 'COLONY_NAME'
FROM value
ORDER BY 1 ASC;