declare @s int
set @s=1
for (@s<=(select count(*) from a where 入库金额 between 500 and 1000 ))
set @s=@s+1
select @s as iid,* from a where 入库金额 between 500 and 1000 order by 入库金额 desc

解决方案 »

  1.   

    select count(*) as iid,* from a where 入库金额 between 500 and 1000 order by 入库金额 desc
    不就可以了
      

  2.   

    错的,看来这位大侠不理解我问的是什么,这里自动产生的iid字段下应该是以1递增的int,而count(*)是一个固定的数值,明显的错误,还有谁懂嘛?不要沉下去啊!!
      

  3.   

    select 新列=(select count(1)+1 from tb where 主键>a.主键),* from tb a如果你的表有关键字可以用上边语句得到行号,如果没有的话只能通过临时表了