select * from tb
order by time desc,id asc

解决方案 »

  1.   

    drop table #
    declare @tb table (id int , dt datetime)
    --select top 20 id = identity(int,1,1),getdate() as c into # from sys.columns
    insert into @tb
    select id ,dateadd(hour,id,c) from #select * from @tb order by dt desc , id 
    /*
    id          dt
    ----------- -----------------------
    20          2008-07-27 14:17:24.623
    19          2008-07-27 13:17:24.623
    18          2008-07-27 12:17:24.623
    17          2008-07-27 11:17:24.623
    16          2008-07-27 10:17:24.623
    15          2008-07-27 09:17:24.623
    14          2008-07-27 08:17:24.623
    13          2008-07-27 07:17:24.623
    12          2008-07-27 06:17:24.623
    11          2008-07-27 05:17:24.623
    10          2008-07-27 04:17:24.623
    9           2008-07-27 03:17:24.623
    8           2008-07-27 02:17:24.623
    7           2008-07-27 01:17:24.623
    6           2008-07-27 00:17:24.623
    5           2008-07-26 23:17:24.623
    4           2008-07-26 22:17:24.623
    3           2008-07-26 21:17:24.623
    2           2008-07-26 20:17:24.623
    1           2008-07-26 19:17:24.623
    */