MySQL按天,按周,按月,按時間段統計

  • 2019 年 12 月 10 日
  • 筆記

自己做過MySQL按天,按周,按月,按時間段統計,但是不怎麼滿意,後來找到這位大神的部落格,轉載一下,謝謝這位部落客的分享

知識點:DATE_FORMAT

使用示例

select DATE_FORMAT(create_time,'%Y%m%d') days,count(caseid) count from tc_case group by days; select DATE_FORMAT(create_time,'%Y%u') weeks,count(caseid) count from tc_case group by weeks; select DATE_FORMAT(create_time,'%Y%m') months,count(caseid) count from tc_case group by months;

DATE_FORMAT(date,format) 根據format字元串格式化date值。下列修飾符可以被用在format字元串中:

  • %M 月名字(January……December)
  • %W 星期名字(Sunday……Saturday)
  • %D 有英語前綴的月份的日期(1st, 2nd, 3rd, 等等。)
  • %Y 年, 數字, 4 位
  • %y 年, 數字, 2 位
  • %a 縮寫的星期名字(Sun……Sat)
  • %d 月份中的天數, 數字(00……31)
  • %e 月份中的天數, 數字(0……31)
  • %m 月, 數字(01……12)
  • %c 月, 數字(1……12)
  • %b 縮寫的月份名字(Jan……Dec)
  • %j 一年中的天數(001……366)
  • %H 小時(00……23)
  • %k 小時(0……23)
  • %h 小時(01……12)
  • %I 小時(01……12)
  • %l 小時(1……12)
  • %i 分鐘, 數字(00……59)
  • %r 時間,12 小時(hh:mm:ss [AP]M)
  • %T 時間,24 小時(hh:mm:ss)
  • %S 秒(00……59)
  • %s 秒(00……59)
  • %p AM或PM
  • %w 一個星期中的天數(0=Sunday ……6=Saturday )
  • %U 星期(0……52), 這裡星期天是星期的第一天
  • %u 星期(0……52), 這裡星期一是星期的第一天
  • %% 一個文字「%」。

補充:類似SqlServer DATEPART用法