日期:2014-05-17  浏览次数:20830 次

一条关于SQL语句排序的问题,顶者有分!
我现有一个信息表是格式是这样的
字段类型如下:
ID(int)   Tilte(char(64))     infoType(int)       RegDate(DateTime)
数据样本如下:
ID                 Title             infoType                 RegDate
1                 收购电脑             2                           2006-12-23
2                 求租房子             2                           2006-12-20
3                 收购空调             0                           2006-12-29
4                 出售房屋             1                           2006-12-13
5                 家教                     0                           2006-11-23
6                 送水                     1                           2006-10-23
7                 搬家                     2                           2006-12-23
8                 收购电脑了         0                           2006-05-23
想实现的排序功能是:
信息类型(infotype)字段   2和1的信息要显示在0的前面,然后2和1的信息是以日期(RegDate)降序显示,0的信息也以日期(RegDate)降序显示,请问这样能实现吗,如何实现?大家帮忙看一下,路过的帮俺顶一下,给分,急哦....

------解决方案--------------------
可以,在sql语句后边加上order by infoType desc,RegDate asc
------解决方案--------------------
select * from tb order by case infoType when 0 then 1 else 0 end,RegDate desc
------解决方案--------------------
select * into #t1 from info where infotype in (1,2) order by regDate desc
select * into #t2 from info where infotype=0 order by regDate desc

select * from #t1
union all
select * from #t2

drop table #t1
drop table #t2