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)
这里可以自己算叻
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)