프로그래머스 299308 / 분기별 분화된 대장균의 개체 수 구하기
lv2
구현 방법
- ceil을 이용해서 분기를 직접 계산하여 구했다.
- 조건문(case when then else)을 통해 분기를 정해 구했다.
- quarter 함수를 이용해 분기를 정해 구했다.
처음에 2번 방식을 떠올렸지만 코드가 너무 길어져 1번 방식으로 구했습니다.
분기 자체를 구하는 내장 함수가 없을까 찾아보니 quarter가 있네요.
3번이 가장 간단합니다.
코드
-- 직접 계산
select
concat(ceil(month(DIFFERENTIATION_DATE) / 3), 'Q') as 'QUARTER',
count(id) as 'ECOLI_COUNT'
from
ECOLI_DATA
group by
QUARTER
order by
QUARTER
;
-- case when then end
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(id) AS 'ECOLI_COUNT'
from ECOLI_DATA
group by QUARTER
order by QUARTER
;
-- QUARTER함수 이용
select
concat(quarter(DIFFERENTIATION_DATE), 'Q') as 'QUARTER',
count(id) as 'ECOLI_COUNT'
from ECOLI_DATA
group by QUARTER
order by QUARTER
;
'sql' 카테고리의 다른 글
mysql - 프로그래머스 131123 / 즐겨찾기가 가장 많은 식당 정보 출력하기 (0) | 2024.10.02 |
---|---|
mysql - 프로그래머스 59411 / 오랜 기간 보호한 동물(2) (0) | 2024.09.07 |
mysql - 프로그래머스 131537 / 오프라인/온라인 판매 데이터 통합하기 (0) | 2024.09.02 |
프로그래머스 299310 / 연도별 대장균 크기의 편차 구하기 (2) | 2024.08.22 |
mysql - 프로그래머스 298518 / 특정 물고기를 잡은 총 수 구하기 (2) | 2024.08.19 |