注册 登录
编程论坛 ASP技术论坛

求教一条SQL语句,要求挺奇怪的

裙裙 发布于 2008-05-31 19:55, 1224 次点击
表结构如下:

ID   orderID
1      0
2      1
3      2
4      3
...

要求按照orderID来排序,排序方式是升序,但是我想要的效果是 0 必须排在最后一位,也就是下面这种结果:
ID   orderID
2      1
3      2
4      3
1      0


请问这种效果能实现么?
15 回复
#2
裙裙2008-05-31 19:56
数据库用的sql server
#3
裙裙2008-05-31 20:03
数据有很多条啊,orderid都是不固定的数值
#4
裙裙2008-05-31 20:24
已解决!
#5
2008-05-31 20:38
帮顶
#6
multiple19022008-05-31 21:24
讲讲你怎么解决的呀……
#7
永夜的极光2008-05-31 22:19
目前还没想到能用一条sql搞定的办法,LZ麻烦介绍一下好吗?
#8
lele20072008-05-31 22:57
21秒时间就能解决问题?楼主是真的吗?厉害!请问你是怎么样用一条SQL语句实现的
#9
裙裙2008-05-31 23:30
select * from table order by (case orderid when 0 then 999 else orderid end)

如果orderid为0 的时候把它当成999用, 这样就排在后面了
999是随便设置的值,保证其他的orderid不会超过它就没问题了
#10
multiple19022008-06-01 08:56
强呢
#11
hmhz2008-06-01 12:40
小丫头思路不错
#12
zhuzhanjun2008-06-01 15:46
厉害啊~~很厉害的女孩子啊
#13
永夜的极光2008-06-01 16:50
评分功能哪去了???多好的办法啊
#14
ilovey42008-06-02 06:04
LZ很厉害..
#15
dhdhzzw2008-06-02 09:11
好。我还没见过这种写法呢。。学习了
#16
tianyu1232008-06-02 18:07
这样写
select * from table order by orderid>0,orderid
1