当前位置: 代码迷 >> Sql Server >> 紧邻两行记录相减
  详细解决方案

紧邻两行记录相减

热度:93   发布时间:2016-04-24 09:01:21.0
相邻两行记录相减
表a
id num
1 10
2 20
3 21
4 23
5 30

其中,id自增,num列为无规律整数
求一SQL能实现
num列,第n行 -  第(n-1)行
期待结果是
10              
1
2
7
谢谢各位热心人、高人、牛人。

------解决思路----------------------
SELECT T1.num-T2.num
FROM TB T1
JOIN TB T2 ON T1.id=T2.id+1
------解决思路----------------------

with tb as(
select id=1,num=10 union all
select 2,20 union all
select 3,21 union all
select 4,23 union all
select 5,30
),
cte as(
select *,row=ROW_NUMBER()over(order by id) from tb
)select c1.id,c1.num,c1.num-c2.num from cte c1 left join cte c2 on c1.row=c2.row+1
  相关解决方案