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