본문 바로가기
MySQL/PROGRAMMERS

Lv.2 분기별 분화된 대장균의 개체 수 구하기

by Freely_ 2025. 1. 31.
728x90
반응형
728x90
 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

ECOLI_DATA 테이블

각 분기(QUARTER)별 분화된 대장균의 개체의 총 수(ECOLI_COUNT)를 출력하는 SQL 문을 작성해주세요.

이 때 각 분기에는 'Q'를 붙이고 분기에 대해 오름차순으로 정렬해주세요. 대장균 개체가 분화되지 않은 분기는 없습니다.

 

  • 풀이1 ( CASE WHEN 사용)
SELECT CASE WHEN DATE_FORMAT(DIFFERENTIATION_DATE, '%m') IN ('01', '02', '03') THEN '1Q'
			WHEN DATE_FORMAT(DIFFERENTIATION_DATE, '%m') IN ('04', '05', '06') THEN '2Q'
            WHEN DATE_FORMAT(DIFFERENTIATION_DATE, '%m') IN ('07', '08', '09') THEN '3Q'
            WHEN DATE_FORMAT(DIFFERENTIATION_DATE, '%m') IN ('10', '11', '12') THEN '4Q' END QUARTER,
            COUNT(*) ECOLI_COUNT
FROM ECOLI_DATA
GROUP BY 1
ORDER BY 1

 

  • 풀이2 (QUARTER 사용)
SELECT CONCAT(QUARTER(DIFFERENTIATION_DATE), 'Q') QUARTER,
        COUNT(*) ECOLI_COUNT
FROM ECOLI_DATA
GROUP BY QUARTER
ORDER BY 1
728x90
반응형