mysql 获取某个时间段每一天、每一个小时的统计数据
获取每一天的统计数据
做项目的时候需要统对项目日志做分析,其中有一个需求是获取某个给定的时间段内,每一天的日志数据,比如说要获取从2018-02-02 09:18:36到2018-03-05 23:18:36这个时间段内,统计出每一天的日志数据,一般情况下,看到这种需求都是考虑使用函数来搞定,直接上sql语句
SELECTDATE_FORMAT(trigger_time, '%Y-%m-%d') triggerDay,COUNT(id) triggerCount
FROM`job_qrtz_trigger_log`
WHEREtrigger_time BETWEEN '2018-02-02 09:18:36'
AND '2018-03-05 23:18:36'
GROUP BY triggerDay
ORDER BY trigger_time;
查询结果:
对上面的sql做简单的解释
首先,查询字段这里,COUNT(id) triggerCount是我们需要的统计数据的条数,按照实际需求可以添加需要的字段。
DATE_FORMAT(trigger_time, '%Y-%m-%d') triggerDay
这个是将特定日期格式化成 YYYY-mm-dd 格式的日期。这里的格式用于后面的分组,所以按照不同的需求,可以自定义格式。
我的需求是获取每一天的日志数据,我就按照 年份-月份-日期 的格式进行分组然后通过count(*)得到。
如果获取某个月内每个月的数据量,就将格式改为
DATE_FORMAT(trigger_time, '%Y-%m')
当然,where条件需要能够匹配上格式,不能where条件限制到了日期,你却用月份分组。
mysql的日期输出格式列出来:
%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 位
获取某天每个小时的统计数据
1、利用Mysql自带的HOUR函数处理
SELECT HOUR(trigger_time) as Hour,count(*) as Count FROM xxl_job_qrtz_trigger_log WHEREtrigger_time BETWEEN '2018-02-05 01:18:36'
AND '2018-02-05 17:18:36'GROUP BY HOUR(trigger_time) ORDER BY Hour(trigger_time);
查询结果如下
2、时间格式是时间戳的
SELECT (FROM_UNIXTIME(create_time/1000,'%H')) AS h,count(1) from table_item where create_time >1570464000000 and create_time < 1570497070416 GROUP BY h ;
查询结果如下
mysql 获取某个时间段每一天、每一个小时的统计数据相关推荐
- mysql获取当天每小时统计_详解mysql 获取某个时间段每一天、每一个小时的统计数据...
获取每一天的统计数据 做项目的时候需要统对项目日志做分析,其中有一个需求是获取某个给定的时间段内,每一天的日志数据,比如说要获取从2018-02-02 09:18:36到2018-03-05 23:1 ...
- SQL 获取某个时间段每一天、每一个小时的统计数据
获取每一天的统计数据 做项目的时候需要统对项目日志做分析,其中有一个需求是获取某个给定的时间段内,每一天的日志数据,比如说要获取从2018-02-02 09:18:36到2018-03-05 23:1 ...
- java系列之:获取当前时间和当前时间上一个小时的时间
java系列之:获取当前时间和当前时间上一个小时的时间 calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) - ...
- mysql 查询1小时内_mysql查询一个小时之内的数据
由于项目的需要经常查询一个小时之内的数据,接下来吾爱编程为大家分享一下使用Mysql查询一个小时之内的数据的sql,有需要的小伙伴可以参考一下: 1.方法一: (1).sql写法: SELECT * ...
- mysql 获取某个时间段每一天的统计数据
在一个系统的统计模块,经常会遇到根据日期来统计某个时间段内,每一天获取的数据量.一般情况下,看到这种需求都是考虑使用函数来搞定,所以我根据网上找到的资料,将解决办法搬了过来: SELECTcount( ...
- mysql 获取某个时间段中每分钟的数据
获取30天内的数据,按照每分钟来统计 select id,DATE_FORMAT(time, '%Y%m%d %H%i' ),count(1) as num from 表名 where TO_DAYS ...
- mysql获取相隔时间段的数据
思路:为时间段内的数据进行编序号,然后计算好相隔时间,拿到id作为搜索条件 SELECT * FROM ( SELECT (@i:=@i+1) as i, id, data_send_time FRO ...
- mysql获取一个小时内的数据
(第一种方法)SELECT * FROM 表名 WHERE 字段名>NOW()-INTERVAL 2 HOUR;(第二种方法)SELECT * FROM 表名 WHERE 字段名 > ...
- Mysql按周,按月,按日,按小时分组统计数据
2019独角兽企业重金招聘Python工程师标准>>> 按周 select DATE_FORMAT(create_time,'%Y%u') weeks,count(caseid) c ...
最新文章
- LTE-连接态下的DRX
- oracle方差和协方差函数,[转载]方差var、协方差cov、协方差矩阵(浅谈)(三)_函数cov...
- mysql show full_mysql: show full processlist 详解
- Tomcat源码解析三:tomcat的启动过程
- SetFormFullScreen()窗体全屏显示
- python -- 三元运算符
- mysql 分区信息查看
- java开发和structs的关系_java---springMVC与strutsMVC的区别
- 排列生成算法--C++
- 借条已经收回,他以没收据为由让我继续还款怎样办?
- mysql 导入oracle 11_导入oracle11g的数据库到自己本地电脑
- 程序员刚入职很痛苦_在中国,程序员这行能干一辈子吗?
- 2022年第十四届电工杯赛题分析
- JavaScript需要记的阿斯克码
- 【zz】标题: 安装mplayer+ffmpeg-mt+CorAVC 2.0成功,发帖纪念!
- 基于区块链技术的展望:搭建商业银行供应链管理和供应链金融服务平台
- 主页 被 2345 篡改怎么办
- 计算机毕业设计(34)java毕设作品之医院预约挂号系统
- HoloLens开发学习笔记(一):HoloLens简介
- redis 基本原理及安装