mysql之日志时间统计---每类日志时间间隔(间隔超过多少分钟统计出来)
前提:因笔者业务需求,在某一种日志类型中,记录某个机器的上线掉线记录.根据上线掉线时间间隔进行筛选.然后查询总结了一下如下sql
1mybatis中的xml内容
<select id="getLogType4" resultType="com.mlf.entity.HoldLog" parameterType="com.mlf.entity.HoldLog">SELECT A.id, A.remarks, A.log_type, A.userId, A.userName, A.deviceId, A.typec, A.levelc, A.content, A.request_ip, A.request_uri, A.params, A.methodc, A.create_date, A.detailType,A.twoAuthUserId, A.userType, todd.ADDRESS AS address, TIMESTAMPDIFF( MINUTE, A.create_date, B.create_date ) sub_secondsFROM( SELECT a.*, ( @i := @i + 1 ) AS ord_numFROM( SELECT * FROM hold_log h WHERE h.log_type = 4 AND h.deviceId = '1009' AND ( h.detailType = 1 OR h.detailType = 2 ) ) AS a, ( SELECT @i := 1 ) dORDER BY id, create_date) AS ALEFT JOIN( SELECT c.id, c.detailType, c.log_type, c.create_date, c.deviceId, ( @j := @j + 1 ) AS ord_numFROM( SELECT * FROM hold_log hl WHERE hl.log_type = 4 AND hl.deviceId = #{deviceId}AND ( hl.detailType = 1 OR hl.detailType = 2 )) AS c, ( SELECT @j := 0 ) eORDER BY id, create_date) AS B ON A.ord_num = B.ord_numLEFT JOIN t_order_device_detail todd ON todd.DEVICE_ID = A.deviceIdWHERE 1=1<if test="dateStart != null and dateStart != ''">AND A.create_date > #{dateStart}</if><if test="dateEnd != null and dateEnd != '' ">AND A.create_date < #{dateEnd}</if>HAVING sub_seconds > #{timeJ}
2sql语句
SELECT A.id, A.remarks, A.log_type, A.userId, A.userName, A.deviceId, A.typec, A.levelc, A.content, A.request_ip, A.request_uri, A.params, A.methodc, A.create_date, A.detailType,A.twoAuthUserId, A.userType, todd.ADDRESS AS address, TIMESTAMPDIFF( MINUTE, A.create_date, B.create_date ) sub_secondsFROM( SELECT a.*, ( @i := @i + 1 ) AS ord_numFROM( SELECT * FROM hold_log h WHERE h.log_type = 4 AND h.deviceId = #{deviceId}AND ( h.detailType = 1 OR h.detailType = 2 ) ) AS a, ( SELECT @i := 1 ) dORDER BY id, create_date) AS ALEFT JOIN( SELECT c.id, c.detailType, c.log_type, c.create_date, c.deviceId, ( @j := @j + 1 ) AS ord_numFROM( SELECT * FROM hold_log hl WHERE hl.log_type = 4 AND hl.deviceId = #{deviceId}AND ( hl.detailType = 1 OR hl.detailType = 2 )) AS c, ( SELECT @j := 0 ) eORDER BY id, create_date) AS B ON A.ord_num = B.ord_numLEFT JOIN t_order_device_detail todd ON todd.DEVICE_ID = A.deviceIdWHERE 1=1AND A.create_date > #{dateStart}AND A.create_date < #{dateEnd}HAVING sub_seconds > #{timeJ}
3注意
sql的目的是将此日志表复制两份,然后将每条记录的相邻下一条记录与原表进行整合成一个大表(是通过mysql变量进行整合的)
然后通过
TIMESTAMPDIFF( MINUTE, A.create_date, B.create_date ) sub_seconds计算时间差,最后根据时间差进行筛选.
SELECT @i := 1 解释:mysql赋值有两种,一种是 = ,另外一种是:= ,区别是前者是set 字段使用,也就是我们常用的更新.后者是查询语句赋值,也就是在select中使用.而@i 的解释@是mysql定义变量的符号,i是变量名称 ,所以select @i := 1 就是给一个变量名称为i的变量赋值 为1.注意(这个变量如果后期使用操作会改变的)---以上是笔者自己总结.如有不对的地方,请略过.
mysql之日志时间统计---每类日志时间间隔(间隔超过多少分钟统计出来)相关推荐
- 题目78----根据日志时间先后顺序对日志进行排序
运维工程师采集到某产品线网运行一天产生的日志n条 现需根据日志时间先后顺序对日志进行排序 日志时间格式为H:M:S.N H表示小时(0~23) M表示分钟(0~59) S表示秒(0~59) N表示毫秒 ...
- mysql每一步花费时间_MySQL之:日志
日志: 事务日志:transaction log 中继日志:reley log 错误日志:error log 通用日志:general log 慢查询日志:slow query log 二进制日志:b ...
- 开始时间结束时间参数不能为空,时间间隔不能超过90天
Controller层 public AjaxResult export(@RequestBody IncomingAccountQuery incomingAccountQuery){//判断时间是 ...
- 【十三】景区人流量统计:python日志生成+logstash+kafka+storm+mysql+springBoot+高德地图
storm+kafka+logstash+springBoot+高德地图 项目概述: 作用:交通信息化,智慧城市 需求:实时统计人流量并通过热力图展示. 类似于腾讯热力图的景区人流量统计 如何采集某个 ...
- MySQL中的几类日志文件介绍
MySQL中的几类日志文件介绍 关于Mysql日志 splunk内置了两种mysql的日志,分别是mysqld以及mysql_error mysqld_error Standard mysql err ...
- mysql日志恢复的时间格式_mysql binlog 日志恢复数据
首先:开启binlog日志 server-id=1 log-bin=mysql-bin binlog_format=MIXED binlog_format有三种格式: 1)只有sql语句STATEME ...
- Mysql日志时间与系统时间相差八小时
Mysql应用日志时间与系统时间相差八小时 我这以mysql慢查询日志为例,通过查看慢查询日志,发现日志时间与服务器系统时间相差为八小时 原因: 系统默认的log_timestamps为UTC,协调世 ...
- 怎么把mysql表里的时间往后推移_Mysql实战45讲笔记:2、更新语句的执行以及日志...
mysql> update T set c=c+1 where ID=2; 执行语句前要先连接数据库,这是连接器的工作. 前面我们说过,在一个表上有更新的时候,跟这个表有关的查询缓存会失效,所以 ...
- MySql(四):常用工具、日志、复制
1. MySql中常用工具 1.1 mysql 该mysql不是指mysql服务,而是指mysql的客户端工具.语法 : mysql [options] [database] 1.1.1 连接参数 : ...
最新文章
- 2022-2028年中国密胺塑料制品行业市场研究及前瞻分析报告
- shell中的变量赋值
- redis实践及思考
- lynx---CentOS终端访问IP
- Hadoop之Flume详解
- 生动形象的理解什么是装饰器!
- Qt5制作icon图标文件和发布程序简易介绍
- vtkDataObject 与vtkImageData
- 朗威计算机保密检查取证工具,保密检查工具(中安兴坤、朗威、中孚)含国保测证书...
- 定性分析与定量分析的异同及优缺点
- android bks证书生成方式
- Windows——插件:动态主题(轻量级 每日自动换壁纸)
- 复制文本到word中时产生底色的去除方法
- 第四课 k8s网络基础学习-DNS和DHCP学习
- Tensorflow2.3用SaveModel保存训练模型.pb等文件+opencvino转IR文件
- android 扫描枪封装,Android 扫码枪监听封装
- IPV6天窗问题,以及解决方法简述
- PPTP连接时常见拨号错误提示原因及解决办法
- weblogic 由于异常关闭导致文件AdminServer lok被锁,启动报错
- JavaSE——单元测试、反射、注解、动态代理
热门文章
- 吃货们看好了!python+selenium爬取淘宝美食
- SDNUOJ 1614.阿哲的幻想国(练习vector的用法)
- 大数据分析,鲁班为祖师
- php lcg value与mt rand生成0 1随机小数的效果比较
- RDP远程登录 Windows server系统
- 配置alexa skill(一)
- 问题记录vips.h:133: undefined reference to `vips_reduce‘ collect2: error: ld returned 1 exit status
- oracle 表收缩,Oracle在线收缩表——shrink space
- 图片多样化切换_您想让您的工作室更多样化吗?
- Ueditor 自定义多图上传路径及回显