mysql每隔俩小时、四小时、八小时进行数据统计

  1. 需求:我们经常会遇到每隔一分钟、一小时、一天、一个月进行数据统计,遇到如标题所说的统计信息比较少见,在遇到一些坑之后,解决了问题,先上坑:

    • HOUR % 时间间隔: 这种只能取出 余数为0 的那个时间的思路。
  2. 解决思路(每隔两小时进行统计):
    先处理HOUR,得到数据之后,在求和:

  3. sql语句:

SELECTDATE_FORMAT(concat(date( time ),' ',FLOOR( HOUR ( time ) / 2 ) * 2),'%Y-%m-%d %H:%00:00' ) AS time,`msg`.`status`,`msg_b`.`name`,COUNT( `msg`.`status` ) AS `status__count`
FROMmsg INNER JOIN `msg_b` ON ( `msg`.`operator_name` = `msg_b`.`smpp_cid` )
WHERE( `msg`.`status` IN ( 1, 2 ) AND `msg`.time >= '2019-11-01 13 : 43 : 22.506465' AND `msg`.time <= '2019-11-29 13 : 43 : 22.506482' )
GROUP BY`msg`.`status`,`msg_b`.`name`,(DATE_FORMAT( CONCAT( DATE( time ), ' ', FLOOR( HOUR ( time ) / 2 ) * 2 ), '%Y-%m-%d %H:00:00' )  )
ORDER BY
time
  1. 重点是这段语句:
DATE_FORMAT(concat(date( time ),' ',FLOOR( HOUR ( time ) / 2 ) * 2),'%Y-%m-%d %H:%00:00' ) AS time

GROUP BY`msg`.`status`,`msg_b`.`name`,(DATE_FORMAT( CONCAT( DATE( time ), ' ', FLOOR( HOUR ( time ) / 2 ) * 2 ), '%Y-%m-%d %H:00:00' )  )
  1. 更需要注意的是,group by的date格式要和select中的保持一致,不然出来的日期会有重复!也就达不到分组统计的效果了,最后,献上django的orm写法:
base_queryset.extra(select={"time": "DATE_FORMAT(CONCAT(DATE( time ),' ',FLOOR( HOUR ( time ) / 2 ) * 2),'%%Y-%%m-%%d %%H:00:00')"}).values('field1', 'field2', 'time').annotate(models.Count('status'))

mysql每隔俩小时、四小时、八小时进行数据统计相关推荐

  1. Mysql日志时间与系统时间相差八小时

    Mysql应用日志时间与系统时间相差八小时 我这以mysql慢查询日志为例,通过查看慢查询日志,发现日志时间与服务器系统时间相差为八小时 原因: 系统默认的log_timestamps为UTC,协调世 ...

  2. 八小时之内、八小时之外

    很少有机会和大家聊天,最近想起自己刚工作的时候的情形,有一点点感触. 我和徐向华都是98年毕业参加工作到海信的.开始的时候在海信计算机公司做信息管理软件,我主要负责进销存模块的开发,刚参加工作的时候可 ...

  3. hadoop系列十八——案例 App数据统计与报表统计

    项目背景 网站.app的运营者需要知道自己的产品或服务的运营状况,就需要对使用自己产品的用户进行各种角度的数据分析,比如: 用户数量 新增用户 留存用户 活跃用户 地域分析 渠道分析 - 要做这样的分 ...

  4. Android产品研发(八)--App数据统计

    转载请标明出处:一片枫叶的专栏 上一篇文章中我们介绍了Android社区中比较火的热修复功能,并介绍了目前的几个比较流行的热修复框架,以及各自的优缺点,同时也介绍了一下自身项目中对热修复功能的实践.目 ...

  5. 上班那些事儿之工作八小时

    (一) 闲来无事,上网搜了"八小时工作制".         在1886年5月1日,美国芝加哥的二十一万六千余名工人为争取实行八小时工作制而举行大罢工,经过艰苦反复的流血斗争,并得 ...

  6. MySQL插入时间差八小时问题解决

    MySQL插入时间差八小时问题解决 最近使用docker安装了mysql,日期字段类型为timestamp,jpa插入数据后发现与本地时间相差8个小时,各种百度谷歌答案无果,经历了若干次的试验之后,特 ...

  7. 系统时间与docker中mysql数据库时间相差八小时解决方法

    情景:在项目中往数据库差数据时,发现时间字段在mysql显示的时间和当前系统时间老是相差八小时,查看可能是mysql当前时区没设置好的问题. 一.docker exec -it your_mysql_ ...

  8. Java 与 Mysql 时间相差八小时

    Java 与 Mysql 时间相差八小时 在项目中发现,Java获取时间插入到数据库少了8小时 解决过程 最终解决方案 在项目中发现,Java获取时间插入到数据库少了8小时 其实初衷是想做定时去跑我需 ...

  9. mysql select now() 读取时间和实际时间有误差差8八小时 --最全解决过程

    问题: 环境: docker + linux + mysql bug : 测试环境下工单列表刚发布的信息显示为7小时前(正常该是0小时前:以小时为单位) 追究: 首先想到是服务器时间不对用查看当前服务 ...

最新文章

  1. python小结价格_036 Python进阶小结
  2. C++ WINDOWS API 第1章 Windows 应用程序开发入门
  3. java中ThreadPool的介绍和使用
  4. 基于ASP.NET Core api 的服务器事件发送
  5. [html] 使用a标签的download属性下载文件会有跨域问题吗?如何解决?
  6. java 与 xml_xml与java对象转换
  7. Matlab画图技巧之保存超大体积图
  8. 新浪uc2010免费下载
  9. python 读取redis数据后转为dataframe格式数据
  10. VMware NSX 6.2初学者指南 - 从实验室的零部署到完全部署
  11. VB语言写CRC16校验
  12. 图像压缩编码码matlab实现——DM编码
  13. 微信小程序——轮播图
  14. 如何用ps做计算机二级报名照片,等级考试照片PS教程
  15. 编译原理 —— 四元式和三地址代码
  16. 基于Django框架的网络选课管理系统
  17. 加那些YY主播的微信为何要花钱?
  18. 虚幻4引擎源码学习笔记(一):整体文件结构
  19. 唱情歌的人和听的人为何那么认真?
  20. 有符号二进制数的减法

热门文章

  1. 从零开始学架构——单服务器高性能模式
  2. 南昌php总人数,2018南昌市人口数量是多少,历年南昌市各区人口数量排行榜
  3. ubuntu术后那些事儿
  4. python做项目日程表_Flask框架搭建一个日程表
  5. 【SystemVerilog基础】合并数组与非合并数组深入探究
  6. php验证码代码菜鸟教程,PHP验证码的生成
  7. html可暂停倒计时代码,js实现倒计时器自定义时间和暂停
  8. 分析了100份大数据岗位要求,总结出这4点
  9. android之ion内存储器管理器,Android ION
  10. xshell使用SSH密钥登录Linux实例