首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL数据库中求左右相邻两行的差

2013-12-11 
SQL数据库中求上下相邻两行的差如图所示,求高手指点![解决办法]2005以上可以用row_number()over来给每行加

SQL数据库中求上下相邻两行的差
如图所示,求高手指点!
SQL数据库中求左右相邻两行的差
[解决办法]
2005以上可以用row_number()over来给每行加上一个自增标识符,然后再处理
[解决办法]
select *,abs((id-(select id from table1 where id>t.id order by id limit 1)))
as result
from table1 t
[解决办法]
select *,(select id from table1 where id>t.id order by id limit 1)-id
 as result
 from table1 t 
[解决办法]
with tb as
(
  select *, rownr = ROW_NUMBER()VOER(ORDER BY id)
  from table1
)
update table1
set result = y.id-x.id
from tb x
left outer join tb y on x.rownr +1 = y.rownr 

热点排行