• sqlserver/mysql按天、按小时、按分钟统计连续时间段数据


    自己做过MySQL按天,按周,按月,按时间段统计,但是不怎么满意,后来找到这位大神的博客,转载一下,谢谢这位博主的分享

    Select result,count(result) as resultTotal,DATE_FORMAT(PrtTime,'%Y%m%d %H') as prtHour from degassing_facility_production_data where (prtTime >= '2020-01-16' and prtTime < '2020-01-18') group by result,prtHour;

    知识点:DATE_FORMAT

    使用示例

    1
    2
    3
    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), 这里星期一是星期的第一天
    •%% 一个文字“%”。

  • 相关阅读:
    三数之和
    167
    二分搜索树
    687
    索引堆
    二分查找 leetcode704
    leetcode 56合并区间 java
    leetcode 1046
    堆的数据结构java
    leetcode 493
  • 原文地址:https://www.cnblogs.com/profession/p/12206561.html
Copyright © 2020-2023  润新知