千家信息网

mssql sqlserver 使用sql脚本实现相邻两条数

发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,摘要:下文讲述使用sql脚本实现相邻两条数据相减的方法,如下所示:实验环境:sql server 2008 R2实现思路:1.使用cte表达式,对当前表进行重新编号2.使用左连接对 表达式 生成的临时
千家信息网最后更新 2025年01月25日mssql sqlserver 使用sql脚本实现相邻两条数

摘要:
下文讲述使用sql脚本实现相邻两条数据相减的方法,如下所示:
实验环境:sql server 2008 R2

实现思路:
1.使用cte表达式,对当前表进行重新编号
2.使用左连接对 表达式 生成的临时表进行错位连接,并对生成的新纪录中两列进行相减

create table [maomao365] (sort varchar(30),qty int);go----生成基础数据insert into [maomao365](sort, qty)values('maomaoA',10),('maomaoB',20),('maomaoC',30),('maomaoD',40),('maomaoE',50),('maomaoF',60)gowith cte_temp as(select row_number() over(order by qty asc ) as keyId ,* from[maomao365])select a.sort,a.qty,b.qty,(isnull(a.qty,0)-isnull(b.qty,0)) as [相邻行之差] from cte_temp aleft join cte_temp b on a.keyId =(b.keyId+1) ---计算相邻两行之差gotruncate table [maomao365]drop table [maomao365]

0