日期:2014-05-18  浏览次数:20630 次

新闻置顶的查询方法,请大家帮忙
结构如下:
ID           Title           XType
1             AAA               0
2             BBB               0
3             CCC               0
4             DDD               1
5             EEE               0
6             FFF               1
7             GGG               0
8             HHH               0
9             III               0

比如我要查询出6个记录
其中包含XType=1的且需要放在最上面
如果XType=1的不够6个记录
就取XType=0的补上  
XType=0   的必须反向

结果应该是这样的
ID           Title           XType     表单上显示的序号
6             FFF               1               1
4             DDD               1               2
9             III               0               3
8             HHH               0               4
7             GGG               0               5
5             EEE               0               6

------解决方案--------------------
select top 6 * from # order by case when XType=1 then 0 else 1 end,ID desc
------解决方案--------------------
select top 6 *
from table
order by XType desc,id desc
------解决方案--------------------
select top 6 * from # order by XType desc,ID desc


-_-#
------解决方案--------------------
.....哦.可以路过了
------解决方案--------------------
select top 6 *
from table
order by XType desc,id desc