프로그래머스/쿼리
[mysql] SELECT - 대장균의 크기에 따라 분류하기 2
have a good time
2025. 3. 19. 11:51
SELECT A.ID,
CASE WHEN A.R > A.MAX_ID * 0.75 THEN 'CRITICAL'
WHEN A.R > A.MAX_ID* 0.5 THEN 'HIGH'
WHEN A.R > A.MAX_ID * 0.25 THEN 'MEDIUM'
ELSE 'LOW'
END AS COLONY_NAME
FROM
(SELECT ID
# 순위
, ROW_NUMBER() OVER (ORDER BY SIZE_OF_COLONY) AS R
# 총 데이터의 수
, MAX(ID) OVER() AS MAX_ID
FROM ECOLI_DATA) A
ORDER BY ID
설명하자면
, ROW_NUMBER() OVER (ORDER BY SIZE_OF_COLONY) AS R
이 부분에서 순위를 구하고
, MAX(ID) OVER() AS MAX_ID
이 부분에서 총 데이터의 수를 구한다
이 부분만 실행시키면 아래와 같은 결과
gpt가 설명해주길
이렇게 나온 결과에서
최종적으로 결과값을 구하면 됨