前提:因笔者业务需求,在某一种日志类型中,记录某个机器的上线掉线记录.根据上线掉线时间间隔进行筛选.然后查询总结了一下如下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 &lt; #{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之日志时间统计---每类日志时间间隔(间隔超过多少分钟统计出来)相关推荐

  1. 题目78----根据日志时间先后顺序对日志进行排序

    运维工程师采集到某产品线网运行一天产生的日志n条 现需根据日志时间先后顺序对日志进行排序 日志时间格式为H:M:S.N H表示小时(0~23) M表示分钟(0~59) S表示秒(0~59) N表示毫秒 ...

  2. mysql每一步花费时间_MySQL之:日志

    日志: 事务日志:transaction log 中继日志:reley log 错误日志:error log 通用日志:general log 慢查询日志:slow query log 二进制日志:b ...

  3. 开始时间结束时间参数不能为空,时间间隔不能超过90天

    Controller层 public AjaxResult export(@RequestBody IncomingAccountQuery incomingAccountQuery){//判断时间是 ...

  4. 【十三】景区人流量统计:python日志生成+logstash+kafka+storm+mysql+springBoot+高德地图

    storm+kafka+logstash+springBoot+高德地图 项目概述: 作用:交通信息化,智慧城市 需求:实时统计人流量并通过热力图展示. 类似于腾讯热力图的景区人流量统计 如何采集某个 ...

  5. MySQL中的几类日志文件介绍

    MySQL中的几类日志文件介绍 关于Mysql日志 splunk内置了两种mysql的日志,分别是mysqld以及mysql_error mysqld_error Standard mysql err ...

  6. mysql日志恢复的时间格式_mysql binlog 日志恢复数据

    首先:开启binlog日志 server-id=1 log-bin=mysql-bin binlog_format=MIXED binlog_format有三种格式: 1)只有sql语句STATEME ...

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

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

  8. 怎么把mysql表里的时间往后推移_Mysql实战45讲笔记:2、更新语句的执行以及日志...

    mysql> update T set c=c+1 where ID=2; 执行语句前要先连接数据库,这是连接器的工作. 前面我们说过,在一个表上有更新的时候,跟这个表有关的查询缓存会失效,所以 ...

  9. MySql(四):常用工具、日志、复制

    1. MySql中常用工具 1.1 mysql 该mysql不是指mysql服务,而是指mysql的客户端工具.语法 : mysql [options] [database] 1.1.1 连接参数 : ...

最新文章

  1. 2022-2028年中国密胺塑料制品行业市场研究及前瞻分析报告
  2. shell中的变量赋值
  3. redis实践及思考
  4. lynx---CentOS终端访问IP
  5. Hadoop之Flume详解
  6. 生动形象的理解什么是装饰器!
  7. Qt5制作icon图标文件和发布程序简易介绍
  8. vtkDataObject 与vtkImageData
  9. 朗威计算机保密检查取证工具,保密检查工具(中安兴坤、朗威、中孚)含国保测证书...
  10. 定性分析与定量分析的异同及优缺点
  11. android bks证书生成方式
  12. Windows——插件:动态主题(轻量级 每日自动换壁纸)
  13. 复制文本到word中时产生底色的去除方法
  14. 第四课 k8s网络基础学习-DNS和DHCP学习
  15. Tensorflow2.3用SaveModel保存训练模型.pb等文件+opencvino转IR文件
  16. android 扫描枪封装,Android 扫码枪监听封装
  17. IPV6天窗问题,以及解决方法简述
  18. PPTP连接时常见拨号错误提示原因及解决办法
  19. weblogic 由于异常关闭导致文件AdminServer lok被锁,启动报错
  20. JavaSE——单元测试、反射、注解、动态代理

热门文章

  1. 吃货们看好了!python+selenium爬取淘宝美食
  2. SDNUOJ 1614.阿哲的幻想国(练习vector的用法)
  3. 大数据分析,鲁班为祖师
  4. php lcg value与mt rand生成0 1随机小数的效果比较
  5. RDP远程登录 Windows server系统
  6. 配置alexa skill(一)
  7. 问题记录vips.h:133: undefined reference to `vips_reduce‘ collect2: error: ld returned 1 exit status
  8. oracle 表收缩,Oracle在线收缩表——shrink space
  9. 图片多样化切换_您想让您的工作室更多样化吗?
  10. Ueditor 自定义多图上传路径及回显