[SQL] 분기별 분화된 대장균의 개체 수 구하기

NoHae·2025년 2월 5일

SQL

목록 보기
72/86

문제 출처

코딩테스트 연습 > String, Date > 분기별 분화된 대장균의 개체 수 구하기
https://school.programmers.co.kr/learn/courses/30/lessons/299308

문제 설명


접근 방법

DATE 관련 함수인 QUARTER을 이용하여 분기를 나누고, CONCAT 함수를 이용하여 뒤에 "Q"를 붙인다.

SELECT CONCAT(QUARTER(DIFFERENTIATION_DATE), "Q") AS QUARTER, COUNT(*) AS ECOLI_COUNT
FROM ECOLI_DATA
GROUP BY QUARTER
ORDER BY QUARTER ASC

혹은 CASE를 사용하여 각 분기별로 나눌 수 있다.

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 ASC

알게된 점

QUARTER은 1,2,3 -> 1분기 , 4,5,6 -> 2분기, ... 로 나눌 수 있다.

잘 모르겠으면 CASE문을 이용하자.

문제푼 흔적

profile
노력 해보려고 하는 사람(00년생 소프트웨어융합학과, 24년 12월 부터 백엔드 및 코테 공부 시작)

0개의 댓글