본문 바로가기

개발중/sql

[mysql] 일, 주, 월, 년, 분기 통계 함수 🔊 🔊 🔊

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
반응형