当前位置: 首页 > 编程笔记 >

SQL实现相邻两行数据的加减乘除操作

华建同
2023-03-14
本文向大家介绍SQL实现相邻两行数据的加减乘除操作,包括了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的每两条相邻数据所花费的时间

结果如图:

第三列的单位是秒

补充知识:SQL实现当前行等于前面两行数据之和

sql实现类似斐波那契数列的功能,即当前数据等于前面两个数据之和,详看本文例子

原表:

sql语句(此处要熟悉JION ON的用法)

结果

以上这篇SQL实现相邻两行数据的加减乘除操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍浅谈keras中的Merge层(实现层的相加、相减、相乘实例),包括了浅谈keras中的Merge层(实现层的相加、相减、相乘实例)的使用技巧和注意事项,需要的朋友参考一下 【题目】keras中的Merge层(实现层的相加、相减、相乘) 详情请参考: Merge层 一、层相加 keras.layers.Add() 添加输入列表的图层。 该层接收一个相同shape列表张量,并返回它们的

  • 题目链接 NowCoder 题目描述 写一个函数,求两个整数之和,要求不得使用 +、-、*、/ 四则运算符号。 解题思路 a ^ b 表示没有考虑进位的情况下两数的和,(a & b) << 1 就是进位。 递归会终止的原因是 (a & b) << 1 最右边会多一个 0,那么继续递归,进位最右边的 0 会慢慢增多,最后进位会变为 0,递归终止。 // java public int Add(int

  • 我有一个PySpark数据帧,df1,看起来像: 我有第二个PySpark数据帧,df2 我想将df1的所有列(我有两列以上)与客户ID上的df2连接值相乘

  • 问题内容: 我根据员工的工作时间做一些报告。在某些情况下,数据包含两个单独的记录,这实际上是一个时间段。 这是该表的基本版本和一些示例记录: 数据: 在该示例中,最后两个记录在时间上是连续的。我想编写一个查询,该查询结合了所有相邻记录,因此结果集是这样的: 理想情况下,它还应该能够处理两个以上的相邻记录,但这不是必需的。 问题答案: 本文为您的问题提供了许多可能的解决方案 http://www.s

  • 主要内容:对除法的说明,对取余运算的说明,加减乘除运算的简写加减乘除是常见的数学运算,C语言当然支持,不过,C语言中的运算符号与数学中的略有不同,请见下表。   加法 减法 乘法 除法 求余数(取余) 数学 + - × ÷ 无 C语言 + - * / % C语言中的加号、减号与数学中的一样,乘号、除号不同;另外C语言还多了一个求余数的运算符,就是 %。 下面的代码演示了如何在C语言中进行加减乘除运算: 输出结果: m=112, n=850.000000,

  • 本文向大家介绍Python实现两个list对应元素相减操作示例,包括了Python实现两个list对应元素相减操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python实现两个list对应元素相减操作。分享给大家供大家参考,具体如下: 两个list的对应元素操作,这里以相减为例: 运行结果: 更多关于Python相关内容感兴趣的读者可查看本站专题:《Python列表(list)操