现在有表table,标题字段title,数字类型字段num,添加时间字段adddate例如:
title         num           adddate
标题一         2.0          2010-5-29
标题二         0.2          2010-5-28
标题三         2.5          2010-5-27
标题四         1.2          2010-5-29
标题五         2.1          2010-5-1
标题六         2.2          2010-5-12
标题七         8.2          2010-4-5
标题八         4.2          2010-5-29
标题九         0.27         2010-2-24想要实现的排列效果:
标题七
标题八
标题三
标题六
标题五
标题一
标题四
标题九
标题二
上面我没有考虑时间字段,如果当num有相同的值时,先添加的排在前面又要怎么做?大家帮帮忙。谢谢。

解决方案 »

  1.   

    select title from tb order by num desc,adddate
      

  2.   


    create table ta (title varchar(20), num numeric(12,1),adddate datetime)
    insert into ta
    select '标题一','2.0','2010-5-29'
    union all select '标题二','0.2','2010-5-28'
    union all select '标题三','2.5','2010-5-27'
    union all select '标题四','1.2','2010-5-29'
    union all select '标题五','2.1','2010-5-1'
    union all select '标题六','2.2','2010-5-12'
    union all select '标题七','8.2','2010-4-5'
    union all select '标题八','4.2','2010-5-29'
    union all select '标题九','0.27','2010-2-24'
    select * from ta order by num desc,adddate--结果
    title   num adddate
    --------------------------------------
    标题七 8.2 2010-04-05 00:00:00.000
    标题八 4.2 2010-05-29 00:00:00.000
    标题三 2.5 2010-05-27 00:00:00.000
    标题六 2.2 2010-05-12 00:00:00.000
    标题五 2.1 2010-05-01 00:00:00.000
    标题一 2.0 2010-05-29 00:00:00.000
    标题四 1.2 2010-05-29 00:00:00.000
    标题九 .3 2010-02-24 00:00:00.000
    标题二 .2 2010-05-28 00:00:00.000
      

  3.   


    use PracticeDB
    go
    if exists (select 1 from sysobjects where name='tb')
    drop table tb
    go
    create table tb (title varchar(10),num numeric(10,2),adddate date)
    insert into tb
    select '标题一' ,2.0, '2010-5-29' union all
    select '标题二' ,0.2, '2010-5-28' union all
    select '标题三' ,2.5, '2010-5-27' union all
    select '标题四' ,1.2, '2010-5-29' union all
    select '标题五' ,2.1, '2010-5-1' union all
    select '标题六' ,2.2, '2010-5-12' union all
    select '标题七' ,8.2, '2010-4-5' union all
    select '标题八' ,4.2, '2010-5-29' union all
    select '标题九' ,0.27, '2010-2-24' 
    select * 
    from tb
    order by num desc,adddatetitle num adddate
    标题七 8.20 2010-04-05
    标题八 4.20 2010-05-29
    标题三 2.50 2010-05-27
    标题六 2.20 2010-05-12
    标题五 2.10 2010-05-01
    标题一 2.00 2010-05-29
    标题四 1.20 2010-05-29
    标题九 0.27 2010-02-24
    标题二 0.20 2010-05-28