我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql怎么查询过去24小时内每小时数据量

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mysql怎么查询过去24小时内每小时数据量

本文小编为大家详细介绍“mysql怎么查询过去24小时内每小时数据量”,内容详细,步骤清晰,细节处理妥当,希望这篇“mysql怎么查询过去24小时内每小时数据量”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

项目场景:

获取过去24小时每小时数据量(没有为0)

问题描述

时间段要求精确到分钟,即:10.33 ~ 11.33,11.33~12.33……

解决方案:

获取24个时间点:

使用数据量一定大于24的表(可以是数据库自带的,也可以是自己项目的)

SET @i=-1;SELECT DATE_SUB( NOW(),INTERVAL ( (@i:=@i+1) ) HOUR ) AS 'time' FROM  mysql.help_category WHERE @i<23

建一个24个数据量的表

SET @i=-1;SELECT DATE_SUB( NOW(), INTERVAL((@i:=@i+1)) HOUR) AS 'time' FROM (SELECT *  FROM (SELECT '1' AS a UNION SELECT '2' UNION SELECT '3' UNION SELECT '4'   ) AS a JOIN ( SELECT  '1' UNION  '2' UNION SELECT '3' UNION SELECT '4' UNION SELECT '5' UNION SELECT '6' ) AS b ) AS c  WHERE @i<23

NOW() 获取当前时间,也是最后一个时间节点

DATE_SUB() 函数从日期减去指定的时间间隔

INTERVAL 关键字可以用于计算时间间隔

HOUR 间隔类型(小时)

使用格式:DATE_SUB(date,INTERVAL expr type)

获取的时间点如下:

mysql怎么查询过去24小时内每小时数据量

将要查询的表的时间向右偏移至整点,并查询时段内数据量:

将10.33 ~ 11.33之间的数据的时间,显示为:11.00~12.00

这样小时为11的数据就是原数据库中10.33 ~ 11.33的数据,方便之后的查询

SELECT DATE_FORMAT(DATE_SUB( create_time,INTERVAL MINUTE(NOW())-60 MINUTE ) ,'%Y-%m-%d %H') AS date, count(*) AS num FROM mytable GROUP BY date

结果如下:

mysql怎么查询过去24小时内每小时数据量

多表连接查询:

SET  @i=-1;SELECT t.time, ifnull(num,0) AS count FROM (SELECT DATE_SUB( NOW(),INTERVAL ( (@i:=@i+1) ) HOUR ) AS 'time' FROM  mysql.help_category where @i<23) AS t LEFT JOIN (SELECT DATE_FORMAT(DATE_SUB( create_time,INTERVAL MINUTE(NOW())-60 MINUTE ) ,'%Y-%m-%d %H') AS date, count(*) AS num FROM mytable GROUP BY date ) AS sa ON sa.date = DATE_FORMAT( t.time,'%Y-%m-%d %H')  GROUP BY t.time

结果如下:

mysql怎么查询过去24小时内每小时数据量

count表示的是时间节点前一个小时的数据量,不包含此节点,如果要包含此节点,可以将上面的60改成59

附:Mysql 查询每小时数据的总数

通过sql查询每小时的数据总数,没有先不管

 SELECT      hour(表_时间)  hour,      count(表_id) count    FROM 表_name    //限制年月日(current_date  2022-03-05)    WHERE  date_format(表_时间, '%Y-%m-%d') = current_date//格式化时间    GROUP BY date_format(表_时间, '%Y%m%d-%H'), hour//按每小时分组

通过map,数组工具把没有数据的小时置为0。

读到这里,这篇“mysql怎么查询过去24小时内每小时数据量”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql怎么查询过去24小时内每小时数据量

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql怎么查询过去24小时内每小时数据量

本文小编为大家详细介绍“mysql怎么查询过去24小时内每小时数据量”,内容详细,步骤清晰,细节处理妥当,希望这篇“mysql怎么查询过去24小时内每小时数据量”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。项目场
2023-07-05

mysql查询过去24小时内每小时数据量的方法(精确到分钟)

目录项目场景:问题描述解决方案:附:mysql 查询每小时数据的总数总结项目场景:获取过去24小时每小时数据量(没有为0)问题描述时间段要求精确到分钟,即:10.33 ~ 11.33,11.33~12.33…&helli
2023-03-06

mysql查询每小时数据和上小时数据的差值实现思路详解

一、前言 需求是获取某个时间范围内每小时数据和上小时数据的差值以及比率。本来以为会是一个很简单的sql,结果思考两分钟发现并不简单,网上也没找到参考的方案,那就只能自己慢慢分析了。 刚开始没思路,就去问DBA同学,结
2022-05-10

oracle怎么查询时间段内的数据流量

使用 oracle 查询时间段内的数据流量:连接数据库并选择包含数据的数据库。编写 sql 查询,指定时间段、要查询的数据和所需的统计数据。执行查询并查看结果,其中按快照时间间隔分组显示数据流量数据。如何使用 Oracle 查询时间段内的数
oracle怎么查询时间段内的数据流量
2024-05-13

MySQL中存储的数据查询的时候怎么区分大小写

这篇文章主要介绍了MySQL中存储的数据查询的时候怎么区分大小写的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL中存储的数据查询的时候怎么区分大小写文章都会有所收获,下面我们一起来看看吧。场景描述今天在
2023-07-05

编程热搜

目录