mysql计算相邻的差值_Mysql 相邻两行记录某列的差值方法

本文介绍如何在MySQL中计算相同company_id下相邻记录的touch_time差值。通过使用变量rownum和index进行行号分配,然后通过LEFT JOIN找到相邻行并计算差值。

表结构:

90dd88c067d6ca07da0c7cc3fdb21c10.png

数据:

13055ecb83bab197d333696d6b1c214b.png

需求:

按照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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值