https://school.programmers.co.kr/learn/courses/30/lessons/299308
코딩테스트 연습 > String, Date >분기별 분화된 대장균의 개체 수 구하기
문제 분석
난이도: LEVEL2
문제 요구사항
각 분기(QUARTER)별 분화된 대장균의 개체의 총 수(ECOLI_COUNT)를 출력하는 SQL 문을 작성해주세요.
이때 각 분기에는 'Q' 를 붙이고 분기에 대해 오름차순으로 정렬해주세요. 대장균 개체가 분화되지 않은 분기는 없습니다.
CASE 사용해서 분기 분리하기
1분기: 1 ~ 3 (월)
2분기: 4 ~ 6 (월)
3분기: 7 ~ 9 (월)
4분기: 10 ~ 12 (월)
(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) QUARTER
분기를 기준으로 묶어서 COUNT 하기
COUNT(*) ECOLI_COUNT
FROM ECOLI_DATA
GROUP BY QUARTER
정답 코드
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) QUARTER,
COUNT(*) ECOLI_COUNT
FROM ECOLI_DATA
GROUP BY QUARTER
ORDER BY QUARTER ASC
'Algorithm > Programmers SQL' 카테고리의 다른 글
[MySQL] 프로그래머스 월별 잡은 물고기 수 구하기 (0) | 2024.09.07 |
---|---|
[MySQL] 프로그래머스 특정 물고기를 잡은 총 수 구하기 (2) | 2024.09.07 |
[MySQL] 프로그래머스 연도별 대장균 크기의 편차 구하기 (0) | 2024.09.07 |
[MySQL] 프로그래머스 부모의 형질을 모두 가지는 대장균 찾기 (1) | 2024.09.07 |
[MySQL] 프로그래머스 모든 레코드 조회하기 (0) | 2024.09.07 |