最新下载
热门教程
- 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的每两条相邻数据所花费的时间
结果如图:
第三列的单位是秒
相关文章
- 《奇迹暖暖》捞星星的女孩快速获取指南 08-02
- 《极无双2》常驻活动推荐玩法攻略 08-02
- 《碧蓝航线》海伦娜·META技能有哪些效果 08-02
- 好玩的竖屏手游2022推荐 08-02
- 《创造与魔法》希腊恋人服装获取条件说明 08-02
- 《炉石传说》特殊嫌疑任务攻略 08-02