sql中把一列数据相加(SQL实现相邻两行数据的加减乘除操作)
类别:数据库 浏览量:1252
时间:2022-04-02 01:04:32 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实现相邻两行数据的加减乘除操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/IBoyMan/article/details/79408077
您可能感兴趣
- sql server 动态建表(SQL Server如何通过创建临时表遍历更新数据详解)
- 微信小程序如何请求服务器数据(微信小程序学习笔记之页面配置与路由方式)
- jvm运动数据区总结(JVM上高性能数据格式库包Apache Arrow入门和架构详解Gkatziouras)
- docker数据卷是什么(Docker数据卷容器创建及使用方法解析)
- sqlserver常用流控语句(SQL Server实现自动循环归档分区数据脚本详解)
- python操作mysql连接池(详解Python连接MySQL数据库的多种方式)
- zabbix监控网络线路(分布式监控系统之Zabbix 使用SNMP、JMX信道采集数据的原理解析)
- 数据库安装到docker(基于docker安装mariadb配置过程解析)
- 数据库设计的几个建议
- sqlsever查看视图数据类型(SQL Sever查询语句大全集锦)
- python真的能高效处理excel报表吗(Python数据报表之Excel操作模块用法分析)
- 怎样用sql删除表里的重复数据(sql 删除表中的重复记录)
- 如何设置tomcat的jvm(Tomcatc3p0配置jnid数据源2种实现方法解析)
- docker镜像配置的挂载路径(docker挂载本地目录和数据卷容器操作)
- idea向数据库中插入中文报错(Idea连接MySQL数据库出现中文乱码的问题)
- mysql数据类型
- 鱿鱼炒蒜苔不是黑暗料理,这样做清香扑鼻,鲜美脆嫩,开胃又下饭(鱿鱼炒蒜苔不是黑暗料理)
- 蒜苔炒鱿鱼(蒜苔炒鱿鱼)
- 远离 五毛食品 洛阳80后妈妈发明的 飞行棋 成校园爆款 玩具(远离五毛食品)
- 失传的古代飞行棋游戏 六博(失传的古代飞行棋游戏)
- 感冒要吃什么药(猫咪感冒要吃什么药)
- 下雪会怎样(下雪怎样画)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9