오늘은 프로그래머스의 SQL 문제인 "변종 바이러스의 확산"을 해결하는 두 가지 접근 방식을 비교하며, SQL의 날짜 함수와 CASE WHEN 구문의 활용법을 알아보겠습니다.

ECOLI_DATA 테이블에서 각 분기별로 변종 바이러스의 발생 건수를 집계하는 것이 목표입니다. 이를 위해 두 가지 SQL 쿼리를 작성해보겠습니다.
SELECT CASE
WHEN MONTH(DIFFERENTIATION_DATE) IN (1,2,3) THEN '1Q'
WHEN MONTH(DIFFERENTIATION_DATE) IN (4,5,6) THEN '2Q'
WHEN MONTH(DIFFERENTIATION_DATE) IN (7,8,9) THEN '3Q'
WHEN MONTH(DIFFERENTIATION_DATE) IN (10,11,12) THEN '4Q'
END AS QUARTER,
COUNT(*) AS ECOLI_COUNT
FROM ECOLI_DATA
GROUP BY QUARTER
ORDER BY QUARTER;
더 많은 날짜 및 시간 관련 함수는 여기로
SELECT CONCAT(QUARTER(DIFFERENTIATION_DATE), 'Q') AS QUARTER,
COUNT(*) AS ECOLI_COUNT
FROM ECOLI_DATA
GROUP BY QUARTER(DIFFERENTIATION_DATE)
ORDER BY QUARTER(DIFFERENTIATION_DATE);