一个表共有三列:
id  class_id(1,2,3,4,5) insert_time
如果表中有一定的数据,现在想把这些数据列出来,排序规则: class_id=4的排在最前面,其它的数据按insert_time倒序排列。并且class_id=4的也按insert_time倒序排列请问怎样写

解决方案 »

  1.   


    create table tts(id int,class_id int,insert_time datetime);insert into tts values(6,4,'2010-11-01'),(2,2,'2010-11-01'),(3,3,'2010-11-02'),(4,4,'2010-11-03'),(5,45,'2010-11-04')
    select * from tts order by class_id=4 desc ,insert_time desc
      

  2.   


    mysql> select * from tts order by class_id=4 desc ,insert_time desc
        -> ;
    +------+----------+---------------------+
    | id   | class_id | insert_time         |
    +------+----------+---------------------+
    |    4 |        4 | 2010-11-03 00:00:00 |
    |    6 |        4 | 2010-11-01 00:00:00 |
    |    5 |       45 | 2010-11-04 00:00:00 |
    |    3 |        3 | 2010-11-02 00:00:00 |
    |    1 |        1 | 2010-11-01 00:00:00 |
    |    2 |        2 | 2010-11-01 00:00:00 |
    +------+----------+---------------------+
    6 rows in set (0.00 sec)mysql>
      

  3.   

    多谢,我怎么没有想起来class_id=4呢,呵呵。