------解决方案-------------------- 加一个排序的序号列,一个表当作两个表连接,按序号差值为1作为连接条件。
------解决方案-------------------- /* 表有三列 序号 均值 差价 每行的差价为本行的均值-上一行的均值, 请问:差价的语句怎么构造? */ go if OBJECT_ID('tbl')is not null drop table tbl go create table tbl( 序号 int, 均值 int, 差价 int ) go insert tbl select 1,5,null union all select 2,3,null union all select 3,5,null union all select 4,8,null union all select 5,2,null union all select 6,4,null
select *from tbl
;with T as ( select ROW_NUMBER()OVER(order by getdate())as num, * from tbl )
update tbl set 差价=isnull((isnull(T.均值,0)-isnull(tbl.均值,0)),0) from T where (tbl.序号+1)=T.num