Mysql 相邻两行记录某列的差值方法

2023年 4月 28日 62.9k 0

表结构: 数据: 需求: 按照company_id不同分组,然后分别求出相同company_id相邻记录touch_time的差值 SQL: select r1.company_id, r1.touch_time, r2.touch_time, r1.touch_time - r2.touch_time from (select (@rownum :

表结构:

数据:

需求:

按照company_id不同分组,然后分别求出相同company_id相邻记录touch_time的差值

SQL:

select r1.company_id,
r1.touch_time,
r2.touch_time,
r1.touch_time - r2.touch_time
from (select (@rownum := @rownum + 1) as rownum,
info.company_id,
info.touch_time
from sys_touch_info info, (select @rownum := 0) r
where info.touch_time is not null
order by info.company_id) r1
left join (select (@index := @index + 1) as rownum,
info.company_id,
info.touch_time
from sys_touch_info info, (select @index := 0) r
where info.touch_time is not null
order by info.company_id) r2
on r1.company_id = r2.company_id
and r1.rownum = r2.rownum - 1

结果:

以上这篇Mysql 相邻两行记录某列的差值方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持每日运维。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论