select a.ids+isnull((select count(1) from t where ids<a.ids),0),a.aa,a.bb from t a

解决方案 »

  1.   

    declare @i int
    set @i=0
    update tablename
    set ids=ids+@i,@i=@i+1select * from tablename
      

  2.   

    ids      aa       bb
    8 08 H
    9 09 I
    10 10 J
    11 11 k
    12 12 L
    13 13 M
    还有一个我现在想从最后一条记录开始每一条的ids字段累减1,如最后一条的ids=13-1,倒数第二条的ids=12-2依此类推。
    不用偱环,怎么做。
      

  3.   

    select ids=2*ids-1,aa,bb
    from tablename
      

  4.   

    那只能用1楼的方法了select a.ids-isnull((select count(1) from t where ids>a.ids),0),a.aa,a.bb from t a
      

  5.   

    我想得到的结果是
    ids
    2
    4
    6
    8
    10
    12
      

  6.   

    写错
    select a.ids-(select count(1) from t where ids>=a.ids),a.aa,a.bb from t a