最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
SQL实现相邻两行数据的加减乘除操作代码示例
时间:2022-06-29 08:49:50 编辑:袖梨 来源:一聚教程网
本篇文章小编给大家分享一下SQL实现相邻两行数据的加减乘除操作代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
SQL实现表里数据按一定顺序排序后,按某几个字段分组后相邻两行数据实现加减乘除运算。
思路:
1:先把表数据分组排序后打上序号标签
2:根据需求把标签字段加/减一
上代码:
select distinct a.phone,from_unixtime(cast(floor(a.ts/1000) as bigint),'yyyyMMdd HH:mm:ss'),cha from table a join ( select a.phone,a.ts,abs(a.ts-b.ts)/1000 cha from (select phone,ts,row_number() over(partition by phone order by ts ) rank from table) a left join ( select phone,ts,rank-1 as rank from (select phone,ts,row_number() over(partition by phone order by ts ) rank from table) a ) b on a.phone = b.phone and a.rank = b.rank ) b on a.phone = b.phone and a.ts = b.ts where a.phone is not null and a.phone<>'';
表数据如图:
第一列为phone,第二列为时间ts,要求算出相同phone的每两条相邻数据所花费的时间
结果如图:
第三列的单位是秒
相关文章
- 剑与远征南瓜定制委托攻略2024 11-01
- MegahaRe异世界实干记在哪下载 11-01
- 王者荣耀百里守约百相守梦怎么样 11-01
- 金铲铲之战4.21b版本有什么更新 11-01
- 阴阳师神秘图案2024年11月 11-01
- 江南百景图建筑修复主题怎么玩 江南百景图建筑修复主题活动介绍 11-01