先有表结构如下:
id data  data2
1   0.5   
2   1.5
3   2.0
4   3.5现在想得到data为data的下个数减上个数 其中第一个数不变还为0.5 这样该如何实现?

解决方案 »

  1.   

    http://topic.csdn.net/u/20100525/15/55688fd0-7b65-4fce-89b6-918942f1c6d1.html?seed=1475905759&r=65711030#r_65711030
    2楼可用,a是表别名,你把[Table]改为你的表名即可。
      

  2.   

    if object_id('[tb]') is not null drop table [tb]
    go
    create table [tb]([id] int,[data] numeric(2,1),[data2] sql_variant)
    insert [tb]
    select 1,0.5,null union all
    select 2,1.5,null union all
    select 3,2.0,null union all
    select 4,3.5,nullselect a.id,a.data,
    data2=a.data-isnull(b.data,0)
    from tb a left join tb b on a.id=b.id+1/**
    id          data                                    data2
    ----------- --------------------------------------- ---------------------------------------
    1           0.5                                     0.5
    2           1.5                                     1.0
    3           2.0                                     0.5
    4           3.5                                     1.5(4 行受影响)
    **/