분기별 분화된 대장균의 개체 수 구하기
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
- 내 풀이
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 AS QUARTER,
COUNT(*) AS ECOLI_COUNT
FROM ECOLI_DATA
GROUP BY 1
ORDER BY 1
- 분기 계산 다르게 하는 법
- 월/3 한 값을 CEIL 하면
- 1,2, 3 => 0.XX, 1 -> 1
- 4,5,6=> 1.XX, 2 -> 2
- 7,8,9 => 2.XX, 3 -> 3
- 10,11,12=> 3.XX, 4 -> 4
SELECT
CONCAT(CEIL(MONTH(DIFFERENTIATION_DATE) / 3), 'Q') QUARTER
, COUNT(ID) ECOLI_COUNT
FROM
ECOLI_DATA
GROUP BY 1
ORDER BY 1
'코딩테스트 > SQL' 카테고리의 다른 글
| [SQL] 분기별 분화된 대장균의 개체 수 구하기 (0) | 2025.04.16 |
|---|---|
| [SQL][ISNULL, IN] 업그레이드 할 수 없는 아이템 구하기 (0) | 2024.11.15 |
| [SQL] [서브쿼리] 업그레이드 된 아이템 구하기 (0) | 2024.11.01 |
| [SQL][YEAR, JOIN] 연도별 대장균 크기의 편차 구하기 (0) | 2024.11.01 |
| [SQL][BIT] 조건에 맞는 개발자 찾기 (0) | 2024.11.01 |