
| 항목 | 설명 |
|---|---|
| 함수 이름 | QUARTER(date) |
| 기능 | 입력한 날짜가 몇 번째 분기(1~4)에 속하는지 숫자로 반환 |
| 반환값 | 1, 2, 3, 4 (각각 1분기~4분기 의미) |
| 입력 타입 | DATE, DATETIME, TIMESTAMP, 문자열 날짜도 가능 ('YYYY-MM-DD') |
| 주요 활용 예시 | - 분기별 입소 동물 수 집계 - 분기 기준 필터링 등 |
| 분기 번호 | 해당 월 범위 | 설명 |
|---|---|---|
| 1 | 1월 ~ 3월 | 1분기 |
| 2 | 4월 ~ 6월 | 2분기 |
| 3 | 7월 ~ 9월 | 3분기 |
| 4 | 10월 ~ 12월 | 4분기 |
NULL이 들어가면 QUARTER(NULL)은 NULL을 반환
| 쿼리 | 결과 |
|---|---|
SELECT QUARTER('2025-01-15'); | 1 |
SELECT QUARTER('2025-05-01'); | 2 |
SELECT QUARTER('2025-08-20'); | 3 |
SELECT QUARTER('2025-12-31'); | 4 |
[풀이1]
SELECT
CASE
WHEN MONTH(DIFFERENTIATION_DATE) <= 3 THEN '1Q'
WHEN MONTH(DIFFERENTIATION_DATE) <= 6 THEN '2Q'
WHEN MONTH(DIFFERENTIATION_DATE) <= 9 THEN '3Q'
WHEN MONTH(DIFFERENTIATION_DATE) <= 12 THEN '4Q'
END AS QUARTER,
COUNT(ID) AS ECOLI_COUNT
FROM ECOLI_DATA
GROUP BY QUARTER
ORDER BY QUARTER ASC;
[풀이2] QUARTER() 사용
SELECT
CONCAT(QUARTER(DIFFERENTIATION_DATE), 'Q') AS QUARTER
, COUNT(*) AS ECOLI_COUNT
FROM ECOLI_DATA
GROUP BY QUARTER
ORDER BY QUARTER;