select top 5 * into #t from a order by id desc
select * from #t order by id没有错的.

解决方案 »

  1.   

    select * from 表A
    where id in(select top 5 id from 表A order by id desc)
    order by id
      

  2.   

    --或者:
    select * from(
    select top 5 * from 表A order by id desc
    )a order by id
      

  3.   

    select * from table a where id in (select top 5 id from table order by id desc)
      

  4.   

    --drop table #temp
    create table #temp
    (id int,
     字段A char(5)
    )
    declare @I int,@j int,@Id int,@field char(5)
    declare loc_cur cursor local
    for select Id,Name from 表A(nolock) order by Id
    select @J=count(1) from 表A(nolock)
    set @i=1
    open loc_cur
    fetch next from loc_cur into @Id,@field
    while @@FETCH_STATUS=0
    begin
    if @i>@j-5 
    begin
     insert into #temp select  @Id,@field
    end
     select  @i=@i+1
    fetch next from loc_cur into @Id,@field
    end
    close loc_cur
    deallocate loc_curselect * from #temp