1
select IDENTITY(int,1,1) as Row,columnname
into #t
from tablenameselect * from #tdrop table #t2
select (select count(*) from tablename where columnname<=a.columnname) as Row,columnname
from tablename a
order by columnname

解决方案 »

  1.   

    如果行數太多的話,方式2 速度太慢!!!!
    我也不想用臨時表
    #temptable
      

  2.   

    那就没有办法了
    数据多应该用临时表,写到存储过程里调用,能保证速度。再写个好玩的,数据太多,内存太少不要试declare @ table(Row IDENTITY(int,1),columnname varchar(100))
    insert @(columnname) 
    select columnname from tablename
    select * from @
      

  3.   

    在原表加一字段
    atler table add row int identity(1,1)
      

  4.   

    --如果有主键,还可以这样处理select row=(select count(*) from tablename where 主键<=a.主键),ColumnName
    from tablename a
      

  5.   

    99831323(99831323)
    你有个小错误,我帮你改了一下
    就是declare @ table(Row IDENTITY(int,1),columnname varchar(100))
    应该是
    declare @ table(Row int IDENTITY(1001,1),columnname varchar(100))