1 表结构

2:  其实 是2个相同的 表根据rownum= rownum-1 来计算,所以先了解单个表的查询

附上SQL:

#查询出1天的数据升序
select (@rownum := @rownum + 1) as rownum, info.equipment_id, info.upload_time
from t_box_status_info info, (select @rownum := 0) r
where info.upload_time >= STR_TO_DATE('2017-07-24 00:00:00','%Y-%m-%d %H:%i:%s')
and info.upload_time <= STR_TO_DATE('2017-07-24 23:59:59','%Y-%m-%d %H:%i:%s')
order by info.upload_time

3:2个相同的表计算差值秒

select t1.equipment_id, t1.rownum t1_rownum, t2.rownum t2_rownum,
t1.upload_time t1_upload_time,
t2.upload_time t2_upload_time,
(UNIX_TIMESTAMP(t1.upload_time) - UNIX_TIMESTAMP(t2.upload_time)) diff_second
from
( select (@rownum := @rownum + 1) as rownum, info.equipment_id, info.upload_time
from t_box_status_info info, (select @rownum := 0) r
where info.upload_time >= STR_TO_DATE('2017-07-24 00:00:00','%Y-%m-%d %H:%i:%s')
and info.upload_time <= STR_TO_DATE('2017-07-24 23:59:59','%Y-%m-%d %H:%i:%s')
order by info.upload_time
) t1
left join
( select (@index := @index + 1) as rownum, info.equipment_id, info.upload_time
from t_box_status_info info, (select @index := 0) r
where info.upload_time >= STR_TO_DATE('2017-07-24 00:00:00','%Y-%m-%d %H:%i:%s')
and info.upload_time <= STR_TO_DATE('2017-07-24 23:59:59','%Y-%m-%d %H:%i:%s')
order by info.upload_time
) t2
on
t1.equipment_id = t2.equipment_id and t1.rownum = t2.rownum - 1

4:秒的差值计算

 (UNIX_TIMESTAMP(time1) - UNIX_TIMESTAMP(time2))    diff_second

分钟差值计算

(UNIX_TIMESTAMP(endDateTime) - UNIX_TIMESTAMP(beginDateTime))  /  60

天数差值计算

(UNIX_TIMESTAMP(endDateTime) - UNIX_TIMESTAMP(beginDateTime)) / (60 * 60 * 24)

这里可以自己算叻

Mysql 2条记录 差值计算的更多相关文章

  1. MVC 下 ajax调用 日期差值计算

    背景: 服务项目已有服务期起止时间From-To 现在要根据用户输入的新的起始时间, 和该服务期的原有区间值, 计算出新的服务期截止时间 即 NewServiceToDateTime = NewSer ...

  2. Hibernate中HQL的日期差值计算,可计算相差多少秒

    最近有个业务需求就是计算订单创建时间离现在超过 4 小时的订单都查找出来! 那么就需要用到日期函数了. 网上找了一下总共的日期函数有一下几个: CURRENT_DATE() 返回数据库当前日期 时间函 ...

  3. luogu- P1373 小a和uim之大逃离 DP 四维,其中一维记录差值

    P1373 小a和uim之大逃离: https://www.luogu.org/problemnew/show/P1373 题意: 在一个矩阵中,小A和小B轮流取数,小A可以从任意点先取,小B后取,最 ...

  4. 一次插入多条记录 [mysql]

    调用多次INSERT语句不就可以插入多条记录了吗?但使用这种方法要增加服务器的负荷,因为,执行每一次SQL服务器都要同样对SQL进行分析.优化等操作.幸好MySQL提供了另一种解决方案,就是使用一条I ...

  5. MySQL使用INSERT插入多条记录

    MySQL使用INSERT插入多条记录,应该如何操作呢?下面就为您详细介绍MySQL使用INSERT插入多条记录的实现方法,供您参考. 看到这个标题也许大家会问,这有什么好说的,调用多次INSERT语 ...

  6. mysql判断一条记录是否存在,如果存在,则更新此语句,如果不存在,则插入

    前言,在我们的业务逻辑中,很有可能会遇到这样的情况. 1.我要更新一条记录的值. 2.但是我不确定这条记录存不存在??? 3.那如果存在?我就更新,如果不存在,我就插入! 那么如果这样,一般情况下,我 ...

  7. js计算两个日期的天数差值

    js计算两个日期的天数差值 通过两个日期计算这两个日期之间的天数差值 /** * 计算天数差的函数,通用 * @param sDate1 * @param sDate2 * @returns {Num ...

  8. MySQL计算相邻两行某列差值的方法

    简述 博主最近因工作任务缠身,都无暇顾及到我的这片自留地了.前段时间稍有空闲,花了较多的精力学习<啊哈算法>,从中学习到很多之前没有太注重的内容,收益颇丰.但是这些算法题目还没有看完,等后 ...

  9. mysql语句:批量更新多条记录的不同值[转]

    mysql语句:批量更新多条记录的不同值 mysql更新语句很简单,更新一条数据的某个字段,一般这样写: 帮助 1 UPDATE mytable SET myfield = 'value' WHERE ...

随机推荐

  1. signal()信号操作

    一.函数描述 #include <signal.h> typedef void (*sighandler_t)(int);sighandler_t signal(int signum, s ...

  2. day31 python学习 并发编程之多进程理论部分

    一 什么是进程 进程:正在进行的一个过程或者说一个任务.而负责执行任务则是cpu. 举例(单核+多道,实现多个进程的并发执行): 二 进程与程序的区别 程序仅仅只是一堆代码而已,而进程指的是程序的运行 ...

  3. 各JAVA开发框架版本及对应信息

    日期:2017.05.22 当前最新 release 版本情况: 框架 最新GA(General Availability)版本 spring 4.3.8 spring boot 1.5.3 myba ...

  4. Dynamics CRM 2011 怎么根据记录的etc参数值找到实体英文名和根据etc参数值或英文名称找到其实体中文名称

    一.平常我们可以打开CRM2011一条已创建的记录,通过JScript方法获取实体英文名的方法是:按F12,输入contentIFrame.Xrm.Page.data.entity.getEntity ...

  5. C/C++基础----变量和基本类型

    变量和基本类型 不同平台下基本类型的字节数 类型 16位平台 32位平台 64位平台 char 1 1 1 short 2 2 2 int 2 4 4 long 4 4 8 long long / 8 ...

  6. 排查linux下java应用cpu占用过高

    用于快速排查Java的CPU性能问题(top us值过高),自动查出运行的Java进程中消耗CPU多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用.目前只支持Linux.原因是Mac.Win ...

  7. application/xml 和 text/xml的区别

    application/xml and text/xml的区别 经常看到有关xml时提到"application/xml" 和 "text/xml"两种类型, ...

  8. C++并发编成 03 线程同步

    这一节主要讲讲线程同步的方式,C++ 11中提供了丰富的线程同步元语,如condition_variable,futrue,std::packaged_task<>,std::promis ...

  9. SparkStreaming 运行原理与核心概念

    SparkStreaming 运行原理 sparkstreaming 的高层抽象DStream Dstream与RDD的关系 Batch duration

  10. 无法打开物理文件 XXX.mdf"。操作系统错误 5:"5(拒绝访问。)"的解决办法

    附加数据库时报错: 无法打开物理文件 XXX.mdf".操作系统错误 5:"5(拒绝访问.)" 原因是数据库权限无法读取路径下的文件. 解决方案 一: 数据库使用wind ...