表结构
id name age time
1 a 18 2010-10-10 12:12:12
2 b 24 2010-10-10 12:12:41
3 c 17 2010-10-10 12:15:12
4 d 21 2010-10-10 12:18:12
5 e 24 2010-10-10 12:21:12
6 f 24 2010-10-10 12:22:12
7 g 31 2010-10-10 12:34:12
查询之后,让 age为24的排在前头,剩下的按时间排序求各位大虾 用sql的select怎么实现
id name age time
1 a 18 2010-10-10 12:12:12
2 b 24 2010-10-10 12:12:41
3 c 17 2010-10-10 12:15:12
4 d 21 2010-10-10 12:18:12
5 e 24 2010-10-10 12:21:12
6 f 24 2010-10-10 12:22:12
7 g 31 2010-10-10 12:34:12
查询之后,让 age为24的排在前头,剩下的按时间排序求各位大虾 用sql的select怎么实现
from tb
order by case when age=24 then 0 else 1 end
from (
select * ,case name when 24 then 0 else 1 end as F_Order
from table
) t order by F_Order, time
select * from [tb]
order by case when age=24 then 0 else 1 end,time
select id,name,age,time
from tb
order by (case when age = 24 then 1 else 2 end) , time
from [表]
order by case when age=24 then 0 else 1 end,time
union all
select *,level=1 from tb where age!=24
order by level,time asc
union all
select *,level=1 from tb where age!=24
order by level,time asc
ORDER BY(CASE WHEN age = 24 THEN 1 ELSE 0 end) DESC, time
我开始也是这么想的,但是看到他们的order by cese when。。我觉得挺好的啊。
select id,name,age,time
from tb
order by (case when age = 24 then 1 else 2 end) , time