Notice
Recent Posts
Recent Comments
Link
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
Tags more
Archives
Today
Total
관리 메뉴

luke

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

DB/프로그래머스(MySQL)

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

luke-king 2025. 10. 22. 19:48

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/299308

 

프로그래머스

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

programmers.co.kr

 

 

 

 

 

 

 

 

 

문제.


 

 

 

 

 

 

 

풀이.


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 AS 'QUARTER',
    COUNT(ID) AS ECOLI_COUNT
FROM ECOLI_DATA
GROUP BY QUARTER
ORDER BY QUARTER

이번 문제는 프로그래머스 "분기별 분화된 대장균의 개체 수 구하기" MySQL 문제다.

분기별로 나눠서 특정 값으로 출력하는 문제다. 쿼리문을 보면 쉽게 이해할 수 있을 거다.

그럼 바로 풀이 해보겠다.

 

1. 분기별로 출력해야 하는 값이 있어 CASE문을 사용해 준다.

 

2. CASE문에서 MONTH()를 사용해서 DATE값에서 달 만 꺼내 온다. 그리고 각 분기별로 결과 값을 넣어준다.

 

3. COUNT()를 사용해서 ECOLI_COUNT 값을 카운트한다.

 

4. QUARTER 컬럼을 그룹으로 지정해 준다. 마지막으로 오름차순으로 정렬해 주면 끝이다.