zoukankan      html  css  js  c++  java
  • mysql按照秒、分钟、小时、天、月、年统计数量

    压力测试的时候,需要知道每个时间段的qps,sql如下

    按照秒统计:

     1 SELECT
     2     DATE_FORMAT( create_datetime, '%s' ) tim,
     3     count(*) count 
     4 FROM
     5     chat_message 
     6 WHERE
     7     create_datetime >= '2021-02-21 21:10:00' 
     8     AND create_datetime < '2021-02-25 21:20:00' 
     9 GROUP BY
    10     DATE_FORMAT( create_datetime, '%s' ) 
    11 ORDER BY
    12     tim DESC;

    运行结果:

    tim   count
    59
    13 58 10 .. .. 00 6

    原理:通过date_format函数取时间的秒级数据.

    例子:按照小时统计一天的数据量

     1 SELECT
     2     DATE_FORMAT( create_datetime, '%H' ) tim,
     3     count(*) count
     4 FROM
     5     chat_message
     6 WHERE
     7     create_datetime >= '2021-05-24 00:00:00'
     8     AND create_datetime <= '2021-05-24 23:59:59'
     9 GROUP BY
    10     DATE_FORMAT( create_datetime, '%H' )
    11 ORDER BY
    12     tim DESC;

    按照时:分统计时间段内的平均响应时间

    1 SELECT
    2     DATE_FORMAT( create_datetime, '%H:%i' ) AS '时间',
    3     SUM( duration )/ count( duration ) AS '平均响应时间' 
    4 FROM
    5     ( SELECT TRUNCATE (( TIMESTAMPDIFF( MICROSECOND, msg_datetime, create_datetime ))/ 1000000, 6 ) duration, create_datetime FROM chat_message WHERE create_datetime >= '2021-05-24 10:00:00' AND create_datetime <= '2021-05-24 10:15:59' ) t 
    6 GROUP BY
    7     DATE_FORMAT( create_datetime, '%H:%i' );

    date_format函数使用:

    DATE_FORMAT(date,format)
    date是参数的合法日期,format规定日期/时间的输出格式。

    格式描述
    %a 缩写星期名
    %b 缩写月名
    %c 月,数值
    %D 带有英文前缀的月中的天
    %d 月的天,数值(00-31)
    %e 月的天,数值(0-31)
    %f 微秒
    %H 小时 (00-23)
    %h 小时 (01-12)
    %I 小时 (01-12)
    %i 分钟,数值(00-59)
    %j 年的天 (001-366)
    %k 小时 (0-23)
    %l 小时 (1-12)
    %M 月名
    %m 月,数值(00-12)
    %p AM 或 PM
    %r 时间,12-小时(hh:mm:ss AM 或 PM)
    %S 秒(00-59)
    %s 秒(00-59)
    %T 时间, 24-小时 (hh:mm:ss)
    %U 周 (00-53) 星期日是一周的第一天
    %u 周 (00-53) 星期一是一周的第一天
    %V 周 (01-53) 星期日是一周的第一天,与 %X 使用
    %v 周 (01-53) 星期一是一周的第一天,与 %x 使用
    %W 星期名
    %w 周的天 (0=星期日, 6=星期六)
    %X 年,其中的星期日是周的第一天,4 位,与 %V 使用
    %x 年,其中的星期一是周的第一天,4 位,与 %v 使用
    %Y 年,4 位
    %y 年,2 位
    分享促进成长
  • 相关阅读:
    PHP保留小数的相关方法
    ASP.NET Core MVC 之过滤器(Filter)
    ASP.NET Core MVC 之控制器(Controller)
    ASP.NET Core MVC 之视图组件(View Component)
    ASP.NET Core MVC 之局部视图(Partial Views)
    标签助手(TagHelper)
    ASP.NET Core MVC 之布局(Layout)
    ASP.NET Core MVC 之视图(Views)
    ASP.NET Core MVC 之模型(Model)
    九卷读书:淘宝从小到大的发展 -重读《淘宝技术这十年》
  • 原文地址:https://www.cnblogs.com/hpzyang/p/14470614.html
Copyright © 2011-2022 走看看