Mysql 2条记录 差值计算
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条记录 差值计算的更多相关文章
- MVC 下 ajax调用 日期差值计算
背景: 服务项目已有服务期起止时间From-To 现在要根据用户输入的新的起始时间, 和该服务期的原有区间值, 计算出新的服务期截止时间 即 NewServiceToDateTime = NewSer ...
- Hibernate中HQL的日期差值计算,可计算相差多少秒
最近有个业务需求就是计算订单创建时间离现在超过 4 小时的订单都查找出来! 那么就需要用到日期函数了. 网上找了一下总共的日期函数有一下几个: CURRENT_DATE() 返回数据库当前日期 时间函 ...
- luogu- P1373 小a和uim之大逃离 DP 四维,其中一维记录差值
P1373 小a和uim之大逃离: https://www.luogu.org/problemnew/show/P1373 题意: 在一个矩阵中,小A和小B轮流取数,小A可以从任意点先取,小B后取,最 ...
- 一次插入多条记录 [mysql]
调用多次INSERT语句不就可以插入多条记录了吗?但使用这种方法要增加服务器的负荷,因为,执行每一次SQL服务器都要同样对SQL进行分析.优化等操作.幸好MySQL提供了另一种解决方案,就是使用一条I ...
- MySQL使用INSERT插入多条记录
MySQL使用INSERT插入多条记录,应该如何操作呢?下面就为您详细介绍MySQL使用INSERT插入多条记录的实现方法,供您参考. 看到这个标题也许大家会问,这有什么好说的,调用多次INSERT语 ...
- mysql判断一条记录是否存在,如果存在,则更新此语句,如果不存在,则插入
前言,在我们的业务逻辑中,很有可能会遇到这样的情况. 1.我要更新一条记录的值. 2.但是我不确定这条记录存不存在??? 3.那如果存在?我就更新,如果不存在,我就插入! 那么如果这样,一般情况下,我 ...
- js计算两个日期的天数差值
js计算两个日期的天数差值 通过两个日期计算这两个日期之间的天数差值 /** * 计算天数差的函数,通用 * @param sDate1 * @param sDate2 * @returns {Num ...
- MySQL计算相邻两行某列差值的方法
简述 博主最近因工作任务缠身,都无暇顾及到我的这片自留地了.前段时间稍有空闲,花了较多的精力学习<啊哈算法>,从中学习到很多之前没有太注重的内容,收益颇丰.但是这些算法题目还没有看完,等后 ...
- mysql语句:批量更新多条记录的不同值[转]
mysql语句:批量更新多条记录的不同值 mysql更新语句很简单,更新一条数据的某个字段,一般这样写: 帮助 1 UPDATE mytable SET myfield = 'value' WHERE ...
随机推荐
- signal()信号操作
一.函数描述 #include <signal.h> typedef void (*sighandler_t)(int);sighandler_t signal(int signum, s ...
- day31 python学习 并发编程之多进程理论部分
一 什么是进程 进程:正在进行的一个过程或者说一个任务.而负责执行任务则是cpu. 举例(单核+多道,实现多个进程的并发执行): 二 进程与程序的区别 程序仅仅只是一堆代码而已,而进程指的是程序的运行 ...
- 各JAVA开发框架版本及对应信息
日期:2017.05.22 当前最新 release 版本情况: 框架 最新GA(General Availability)版本 spring 4.3.8 spring boot 1.5.3 myba ...
- Dynamics CRM 2011 怎么根据记录的etc参数值找到实体英文名和根据etc参数值或英文名称找到其实体中文名称
一.平常我们可以打开CRM2011一条已创建的记录,通过JScript方法获取实体英文名的方法是:按F12,输入contentIFrame.Xrm.Page.data.entity.getEntity ...
- C/C++基础----变量和基本类型
变量和基本类型 不同平台下基本类型的字节数 类型 16位平台 32位平台 64位平台 char 1 1 1 short 2 2 2 int 2 4 4 long 4 4 8 long long / 8 ...
- 排查linux下java应用cpu占用过高
用于快速排查Java的CPU性能问题(top us值过高),自动查出运行的Java进程中消耗CPU多的线程,并打印出其线程栈,从而确定导致性能问题的方法调用.目前只支持Linux.原因是Mac.Win ...
- application/xml 和 text/xml的区别
application/xml and text/xml的区别 经常看到有关xml时提到"application/xml" 和 "text/xml"两种类型, ...
- C++并发编成 03 线程同步
这一节主要讲讲线程同步的方式,C++ 11中提供了丰富的线程同步元语,如condition_variable,futrue,std::packaged_task<>,std::promis ...
- SparkStreaming 运行原理与核心概念
SparkStreaming 运行原理 sparkstreaming 的高层抽象DStream Dstream与RDD的关系 Batch duration
- 无法打开物理文件 XXX.mdf"。操作系统错误 5:"5(拒绝访问。)"的解决办法
附加数据库时报错: 无法打开物理文件 XXX.mdf".操作系统错误 5:"5(拒绝访问.)" 原因是数据库权限无法读取路径下的文件. 解决方案 一: 数据库使用wind ...