Welcome! Everything is fine.

[프로그래머스/Lv.2] 분기별 분화된 대장균의 개체 수 구하기 - MySQL 본문

프로그래머스/SQL

[프로그래머스/Lv.2] 분기별 분화된 대장균의 개체 수 구하기 - MySQL

개발곰발 2024. 4. 22.
728x90

📌 문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

📌 정답

WHEN-THEN 문에서 BETWEEN - AND 문을 이용해 분기별로 나눠주었다. 다른 사람들의 답안을 보니 CASE문 전체를 CONCAT으로 감싸 숫자와 'Q'를 이어붙여 처리하는 방법도 있다. 분기별로 묶은후 ID의 개수를 세어 분화된 대장균 개체의 총 수를 표현하였다.

SELECT 
CASE 
    WHEN MONTH(DIFFERENTIATION_DATE) BETWEEN 1 AND 3 THEN '1Q'
    WHEN MONTH(DIFFERENTIATION_DATE) BETWEEN 4 AND 6 THEN '2Q'
    WHEN MONTH(DIFFERENTIATION_DATE) BETWEEN 7 AND 9 THEN '3Q'
    ELSE '4Q'
END QUARTER,
COUNT(ID) AS ECOLI_COUNT
FROM ECOLI_DATA
GROUP BY QUARTER
ORDER BY QUARTER