개발중/MYSQL
[mysql] 일, 주, 월, 년, 분기 통계 함수 🔊 🔊 🔊
Binsoo
2022. 10. 24. 21:28
728x90
반응형
🔊 일
일별 통계가 궁굼할 때는 Group By 로 date_format 을 day 까지 설정하기.
<!-- 일 통계 -->
<select id = "getLabellingStatusByDay" ... >
SELECT COUNT(T1.seq) AS cnt
, date_format(T1.day, '%Y-%m-%d') AS finDate
FROM DEVEL_METADATA T1
GROUP BY date_format(T1.day, '%Y-%m-%d')
</select>
🔊 주
주별 통계가 궁굼할 때는 Group By 에 WEEK 를 이용하기.
주별 현황이 나온당.
<!-- 주 통계 -->
<select id = "getLabellingStatusByWeek" ...>
SELECT COUNT(T1.doc_nm) AS cnt
, CONCAT( WEEK(T1.fin_date, 7), ' 주') AS finDate
FROM DEVEL_METADATA T1
GROUP BY WEEK(T1.fin_date)
</select>
🔊 월
월 통계는 일 통계와 마찬가지로 date_format 을 이용한다.
m 을 기준으로 !
<!-- 월 통계 -->
<select id = "getLabellingStatusByMonth" ... >
SELECT COUNT(T1.doc_nm) AS cnt
, CONCAT( date_format(T1.fin_date, '%Y-%m'), ' 월') AS finDate
FROM DEVEL_METADATA T1
GROUP BY date_format(T1.fin_date, '%Y-%m')
</select>
🔊 년
년 통계는 일 통계와 마찬가지로 date_format 을 이용한다.
y 을 기준으로 !
<!-- 년 통계 -->
<select id = "getLabellingStatusByYear" ... >
SELECT COUNT(T1.doc_nm) AS cnt
, CONCAT( date_format(T1.fin_date, '%Y'), ' 년') AS finDate
FROM DEVEL_METADATA T1
GROUP BY date_format(T1.fin_date, '%Y')
</select>
🔊 분기
분기로 통계낼 때, quarter 를 이용하자.
이런건 몰랐는데 너무 좋은게 있구마잉 ! 굿굿
<!-- 분기 통계 -->
<select id = "getLabellingStatusByQuarter" ...>
SELECT COUNT(T1.doc_nm) AS cnt
, CONCAT( quarter(T1.fin_date), ' 분기') AS finDate
FROM DEVEL_METADATA T1
GROUP BY quarter(T1.fin_date)
</select>
728x90
반응형