1. 首页
  2. 技术知识

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

表结构:


数据:


需求:

按照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 相邻两行记录某列的差值方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持共生网络。

原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/115024.html

联系我们