우당탕탕 개발일지

[SQL] 프로그래머스 String, Date : 분기별 분화된 대장균 수 구하기 (level 2) 본문

SQL

[SQL] 프로그래머스 String, Date : 분기별 분화된 대장균 수 구하기 (level 2)

민아당긴아 2024. 7. 2. 01:11

💡문제 링크

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

💡SQL 코드 설계

각 분기(QUARTER)별 분화된 대장균의 개체의 총 수(ECOLI_COUNT)를 출력하는 SQL 문을 작성해주세요. 이때 각 분기에는 'Q' 를 붙이고 분기에 대해 오름차순으로 정렬해주세요. 대장균 개체가 분화되지 않은 분기는 없습니다.

1. 분기 정보를 담는 QUARTER 필드 만들기

2. 대장균 개체의 총 수 정보를 담는 ECOLI_COUNT 필드 만들기

3. 분기에 대해 오름차순 정렬

 

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

 

💡기억할 내용

1.CASE WHEN 이게 잠시 생각이 안났는데, 하나의 필드를 조건에 따라 다르게 표현하는 방법이다.