注册 登录
编程论坛 SQL Server论坛

排序问题

天天做梦 发布于 2007-02-08 14:13, 717 次点击
请问大家
我现在有这样一个问题
数据库中有一个classid字段是类别字段 有1,2,3 三种值
我想要 按 1,3,2 的类别排序要怎么写SQL语句啊?
先谢谢了。。。
13 回复
#2
songyuyu2007-02-08 14:52
select * from 表名 where 条件 order by 1,2,3
#3
棉花糖ONE2007-02-08 15:01
select * from table  order by charindex(convert(char(1),classid),'132')
#4
做人很低调2007-02-08 15:01

不是吧
字段名是classid
1,2,3是这个字段可能的值

#5
songyuyu2007-02-08 15:04
不好意思,我看错问题了
#6
做人很低调2007-02-08 16:07

还是3楼的厉害

#7
天天做梦2007-02-08 16:21
谢谢版主的解答

但我现在还有一个问题
就是还要按时间降序排
时间字段是dtime
select * from table order by charindex(convert(char(1),classid),'132') asc,dtime desc
我这样写好像不行
请版主帮帮偶
#8
棉花糖ONE2007-02-08 16:30
select * from table order by charindex(convert(char(1),classid),'132'),dtime desc没问题啊,我刚试了,你把你出现的问题说出来
#9
天天做梦2007-02-08 16:39

谢谢版主

是这样
现在 有一个会员表

classid 是级别 普通会员 高级会员 终极会员

dtime 是加入时间

我要做的就是 按 终极会员 -- 高级会员 -- 普通会员 这样的顺序排

相同级别的就要按 加入的时间降序排了

好做么??

#10
棉花糖ONE2007-02-08 16:41

你是语句有问题,还是输出的结果不符合要求

#11
天天做梦2007-02-08 16:47
我是这样写的
Select * From table Order By charindex(convert(char(1),classid),'终高普') asc,dtime desc

但结果不对

是不是我写的不对啊 请指教一下
#12
天天做梦2007-02-08 16:51
有点懂了 是不是char(1) 要写成char(2)啊
#13
天天做梦2007-02-08 16:53
搞定了 呵呵  真是太感谢版主你了
#14
棉花糖ONE2007-03-01 20:55
那是因为汉字是占两个字节
1