코딩테스트/SQL
[MySQL] 대장균의 크기에 따라 분류하기 1
rlatotquf45
2024. 10. 9. 09:47
728x90
반응형
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/299307문제 요약
주어진 문제는 대장균의 정보를 담고 있는 ECOLI_DATA 테이블에서 대장균의 크기(SIZE_OF_COLONY)에 따라 분류한 값을 출력하는 SQL 쿼리를 작성하는 것입니다. 크기는 3가지로 분류됩니다:
- 100 이하: 'LOW'
- 100 초과 1000 이하: 'MEDIUM'
- 1000 초과: 'HIGH'
최종적으로 ID와 크기 분류 결과를 출력하고, ID 기준으로 오름차순 정렬하는 것이 목표입니다.
풀이 방법
- CASE 문 사용: 대장균의 크기(SIZE_OF_COLONY)를 기준으로 'LOW', 'MEDIUM', 'HIGH'로 분류해야 하므로 CASE 문을 사용하여 조건을 설정합니다.
- SIZE_OF_COLONY <= 100: 'LOW'
- 100 < SIZE_OF_COLONY <= 1000: 'MEDIUM' 혹은 SIZE_OF_COLONY BETWEEN 101 AND 1000
- SIZE_OF_COLONY > 1000: 'HIGH'
- SELECT 절: ID와 CASE 문을 통해 분류된 크기를 출력합니다.
- ORDER BY 절: 결과를 대장균 개체의 ID를 기준으로 오름차순 정렬합니다.
정답 코드
-- 코드를 작성해주세요
select id,
case
when size_of_colony <= 100 then 'LOW'
when size_of_colony between 101 and 1000 then 'MEDIUM'
else 'HIGH'
end as size
from ecoli_data
order by id asc
728x90
반응형