본문 바로가기

DB/Programmers SQL Kit

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

문제

 

MONTH를 활용해 분기 날짜에서 월 정보를 뽑아내어 분기를 결정한 데이터를 뽑아내고 해당 데이터를 

ECOLI_DATA 테이블에 조인하여 그룹화하고 COUNT 메소드로 수를 센다.

 

코드

WITH value AS (SELECT ID, 
CASE WHEN MONTH(DIFFERENTIATION_DATE) < 4 THEN '1Q'
     WHEN MONTH(DIFFERENTIATION_DATE) < 7 THEN '2Q'
     WHEN MONTH(DIFFERENTIATION_DATE) < 10 THEN '3Q'
     ELSE '4Q' 
END AS 'QUARTER'
FROM ECOLI_DATA)

SELECT value.QUARTER, COUNT(*) AS 'ECOLI_COUNT'
FROM ECOLI_DATA ed JOIN value ON ed.ID = value.ID
GROUP BY value.QUARTER
ORDER BY 1 ASC;