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的每两条相邻数据所花费的时间

结果如图:

Odoo 集成ReportBro报表设计器支持13,14,15,16,17,18,19 Odoo 集成ReportBro零代码报表设计器,ReportBro设计器 一个用于创建PDF和XLSX报告模板的javascript插件。 阅读详情

相关推荐

PX4笔记系列(二)vtol_att_control中的tiltrotor解析

update_vtol_state() 注释:采用两段切换的简单逻辑来进行过渡 当切换过渡开关后,飞机将会开始倾转动力,逐渐加速,当飞机获得足够速度后动力将会完全打到向前的位置。对于过渡返回阶段动力则是简单地倾转回来。 如果(不在向前过渡指令下): 当前vtol飞行模式: 1、旋翼模式 无操作 2、固定翼模式 令vtol飞行模式切换到过渡返回模式 3、P1过渡模式 进入过渡失败安全返回至旋翼模式 4、P2过渡模式 进入过渡失败安全返回至旋翼模式 5、过渡返回模式 记录过渡返回时间=当前时间-过渡开始

hypersonicss的博客 1852

sql server两行相减

【代码】sql server两行相减。

weixin_51803498的博客 2247

EPB电子驻车制动系统Simulink模型

一个基于MATLAB 2018a版本的EPB(电子驻车制动系统)Simulink模型。该模型参考了VDA305-100标准进行搭建,并且可以生成适用于低版本的Simulink模型。模型包括了有刷直流电机+执行器模型、电机参数m文件、SSM模块、PBC模块、数据处理模块等,并且已经与Carsim进行了联合仿真验证。功能特点常规夹紧与释放:模型能够实现EPB系统的常规夹紧与释放功能。溜车再夹与自动释放:模型支持在车辆溜车时自动夹紧,并在特定条件下自动释放。动态减速:模型能够实现动态减速功能,确保车辆在制动过程中的平稳性。可扩展性:模型结构设计灵活,可以根据需求继续开发其他功能。模型组成有刷直流电机+执行器模型:详细描述了EPB系统中的电机和执行器的工作原理。电机参数m文件:包含了电机的各项参数,用于模型的初始化和仿真。SSM模块:状态空间模型模块,用于描述系统的动态行为。PBC模块:比例-积分-微分控制模块,用于实现系统的闭环控制。数据处理模块:用于处理仿真过程中生成的数据,提供可视化结果。

SQL查询所选数据相邻两行的时间相减

with t as (select OID,time,ROW_NUMBER() over (order by OID) rnfrom shengchan twhere time> '2016-08-25'and deviceID= 18 )select sc.OID,sc.time,t.OID,t.time,DATEDIFF(SECOND,sc.time,t.time)from she...

weixin_30851409的博客 1282

hello

hello

qq_45543644的博客 482

Oracle MySQL Hive sql进行相邻数据相减、相加等运算 lad lead 窗口函数 偏移函数

(Oracle、Hive、MySQL8+通用)现准备两组数据,记录了张三和李四,四天的资金状况,求每天相对于昨天是增加了还是减少了源数据如下:实现SQL:以test_name分组,test_date正序排序,向上偏移一行数据

小小爪哇工程师的博客 2887

sql加减乘除运算_SQL实现相邻两行数据加减乘除操作

SQL实现表里数据按一定顺序排序后,按某几个字段分组相邻两行数据实现加减乘除运算。思路:1:先把表数据分组排序后打上序号标签2:根据需求把标签字段加/减一上代码:select distinct a.phone,from_unixtime(cast(floor(a.ts/1000) as bigint),'yyyyMMdd HH:mm:ss'),chafrom table ajoin(select...

weixin_39559804的博客 659

mysql实现俩个属性加减运算_SQL实现相邻两行数据加减乘除操作

SQL实现表里数据按一定顺序排序后,按某几个字段分组相邻两行数据实现加减乘除运算。思路:1:先把表数据分组排序后打上序号标签2:根据需求把标签字段加/减一上代码:select distinct a.phone,from_unixtime(cast(floor(a.ts/1000) as bigint),'yyyyMMdd HH:mm:ss'),chafrom table ajoin(select...

weixin_39980893的博客 624

mysql怎么实现相邻两数乘_SQL实现相邻两行数据加减乘除操作

SQL实现表里数据按一定顺序排序后,按某几个字段分组相邻两行数据实现加减乘除运算。思路:1:先把表数据分组排序后打上序号标签2:根据需求把标签字段加/减一上代码:select distinct a.phone,from_unixtime(cast(floor(a.ts/1000) as bigint),'yyyyMMdd HH:mm:ss'),chafrom table ajoin(select...

weixin_33570610的博客 977

这两个SQL高级函数的用法,你学会了吗?

点击上方SQL数据库开发,关注获取SQL视频教程SQL专栏SQL数据库基础知识汇总SQL数据库高级知识汇总SQL Server从2012版本开始,引入了LEAD和LAG函数,这两个函数可...

SQL数据库开发 434

SQL Server中的LAG函数与LEAD函数介绍

点击上方SQL数据库开发,关注获取SQL视频教程SQL专栏SQL数据库基础知识汇总SQL数据库高级知识汇总SQL Server从2012版本开始,引入了LEAD和LAG函...

SQL数据库开发 2481

SQL中的两个实用函数

点击关注上方“SQL数据库开发”,设为“置顶或星标”,第一时间送达干货SQL专栏SQL基础知识第二版 SQL高级知识第二版SQL Server从2012版本开始,引入了LEAD和LAG函数...

SQL数据库开发 443

mysql数据库计算两列数据的和_在sql中对两列数据进行运算作为新的列操作

如下所示:select a1,a2,a1+a2 a,a1*a2 b,a1*1.0/a2 c from bb_sb把a表的a1,a2列相加作为新列a,把a1,a2相乘作为新列b,注意:相除的时候得进行类型转换处理,否则结果为0.select a.a1,b.b1,a.a1+b.b1 a from bb_sb a ,bb_cywzbrzb b这是两个不同表之间的列进行运算。补充知识:Sql语句实现不同记...

weixin_33324435的博客 8306

SQL行值相加

相同类型的行,其它属性相加业务场景解决方案心得 业务场景 简单一个订单表,订单ID是主键 商品id 商品数量 订单ID 1 2 1 2 1 2 1 3 3 3 1 4 现在想统计按照商品id统计商品数量。 使其变成这样: 商品id 商品数量 1 5 2 1 3 1 解决方案 SELECT SUM(productorderitem_number) AS productorderitem_number,productorderitem_product_

weixin_44718395的博客 4638

Mysql sql 实现两行数据相减的sql写法

须具备的数据库脚本: CREATE TABLE `NewTable` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '流水ID数据库自增字段' , `queue_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '队列名称' ...

iteye_17097的博客 9057

SQL前后相减、累计求和、多行合并

前后相减 with tb as( select 1 id,25 qty union all select 2,30 union all select 3,67 ) select *,(select a.qty-b.qty from tb b where a.id=b.id+1) 差 from tb a 累计求和

狂野的心 1万+

玩转 SQL 10大技巧!(文末送书)

作者:水果泡腾片来源:数据分析1480原文:http://blog.jobbole.com/55086/很多分析师视 SQL 为洪水猛兽。SQL 是一种为数不多的声明性语言,它的运行方式...

SeizeeveryDay的博客 629

SQLServer不同行列相减实例解析

 昨天技术主管面试新人时出了道数据库编程题,自己也是新人,所以顺便拿过来研究一下,题目如下: 数据库表TEST,表结构及数据如下: CREATE TABLE TEST(   ID char(10)PRIMARY KEY,   NAME char(10),   AMOUNT numeric(9)) ID         NAME       AMOUNT-

爱喝浓咖啡 6733
上一篇: SQL里concat_ws()、collect_set()的使用
下一篇: python进行拆分大文件
IBoyMan
博客等级 码龄9年 25粉丝 28原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值