标题:[求助]查询问题
只看楼主
CrazyWeed0907
Rank: 2
等 级:新手上路
威 望:5
帖 子:1385
专家分:0
注 册:2006-5-30
 问题点数:0 回复次数:9 
[求助]查询问题

table t1
aa bb cc
1 2 3
2 34 1
3 44 4
4 43 2
5 34 5


我想做查询按照 CC 排序, 但不是按升降排序
要按指定的顺序排序
比如 13425

搜索更多相关主题的帖子: 查询 
2006-09-27 10:31
CrazyWeed0907
Rank: 2
等 级:新手上路
威 望:5
帖 子:1385
专家分:0
注 册:2006-5-30
得分:0 

斑竹,帮我解决一下问题把


“十步杀一人,千里不留行。事了拂衣去,深藏身与名。”
2006-09-27 13:40
CrazyWeed0907
Rank: 2
等 级:新手上路
威 望:5
帖 子:1385
专家分:0
注 册:2006-5-30
得分:0 

怎么没人理我的贴子啊,
我给大家解决问题的时候不是这样的


“十步杀一人,千里不留行。事了拂衣去,深藏身与名。”
2006-09-28 15:58
wohemachen
Rank: 1
等 级:新手上路
威 望:2
帖 子:641
专家分:0
注 册:2006-9-21
得分:0 

我看了你的帖子了,可是不是很会呀~

这种排序方式有什么意义吗?

[此贴子已经被作者于2006-9-28 16:01:55编辑过]


[glow=255,red,2]桃花坞里桃花庵,桃花庵里桃花仙;桃花仙人种桃树,又摘桃花换酒钱。[/glow]
2006-09-28 16:00
CrazyWeed0907
Rank: 2
等 级:新手上路
威 望:5
帖 子:1385
专家分:0
注 册:2006-5-30
得分:0 

没有意义,但是有用


“十步杀一人,千里不留行。事了拂衣去,深藏身与名。”
2006-09-28 17:03
LouisXIV
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:789
专家分:0
注 册:2006-1-5
得分:0 
--try,for sample,order by 1 3 4 2 5

select aa,bb,cc
from t1
order by charindex(','+rtrim(cc)+',',',1,3,4,2,5,')

2006-09-28 22:19
潇洒老乌龟
Rank: 5Rank: 5
等 级:贵宾
威 望:18
帖 子:407
专家分:0
注 册:2005-12-13
得分:0 

如何让ORDER BY按指定的顺序排序

表a里有个列叫Type,是商品类别,就3种情况:S,A,B,如下:
id name type
1 一班 S
2 五班 A
3 三班 B
4 四班 B
5 二班 A
6 六班 S
现在我需要按照‘S’,‘A’,‘B’的顺序排序,如下:
1 一班 S
6 六班 S
5 二班 A
2 五班 A
3 三班 B
4 四班 B

SELECT *
FROM tbl_test
ORDER BY "@#$$%#$%@$@#$@$@#@$这里应该咋写?"

select * from a where type='S' union all
select * from a where type='A' union all
select * from a where type='B'
select id , name ,type
from a
order by case type when 'S' then 1
when 'A' then 2 when 'B' then 3 else 4 end (如果对ID排序,则加最后加,id)
select id , name ,type
from (select *, case type when 'S' then 1 when 'A' then 2 else 3 end as seq from a) X
order by seq
上诉对ID列没有进行排序,如果在上诉基础上对ID再进行排序。
select id , name ,type(假设有列id ,name, type)
from (select *, case type when 'S' then 1 when 'A' then 2 else 3 end as seq from a) X
order by seq,id
1 一班 S
6 六班 S
2 五班 A
5 二班 A
3 三班 B
4 四班 B


乌龟学堂http://www. 承接各种软件开发、系统集成、网络搭建。 QQ:124030710
2006-09-28 22:29
CrazyWeed0907
Rank: 2
等 级:新手上路
威 望:5
帖 子:1385
专家分:0
注 册:2006-5-30
得分:0 

谢了,六楼


“十步杀一人,千里不留行。事了拂衣去,深藏身与名。”
2006-09-29 09:19
CrazyWeed0907
Rank: 2
等 级:新手上路
威 望:5
帖 子:1385
专家分:0
注 册:2006-5-30
得分:0 
以下是引用潇洒老乌龟在2006-9-28 22:29:19的发言:

如何让ORDER BY按指定的顺序排序

表a里有个列叫Type,是商品类别,就3种情况:S,A,B,如下:
id name type
1 一班 S
2 五班 A
3 三班 B
4 四班 B
5 二班 A
6 六班 S
现在我需要按照‘S’,‘A’,‘B’的顺序排序,如下:
1 一班 S
6 六班 S
5 二班 A
2 五班 A
3 三班 B
4 四班 B

SELECT *
FROM tbl_test
ORDER BY "@#$$%#$%@$@#$@$@#@$这里应该咋写?"

select * from a where type='S' union all
select * from a where type='A' union all
select * from a where type='B'
select id , name ,type
from a
order by case type when 'S' then 1
when 'A' then 2 when 'B' then 3 else 4 end (如果对ID排序,则加最后加,id)
select id , name ,type
from (select *, case type when 'S' then 1 when 'A' then 2 else 3 end as seq from a) X
order by seq
上诉对ID列没有进行排序,如果在上诉基础上对ID再进行排序。
select id , name ,type(假设有列id ,name, type)
from (select *, case type when 'S' then 1 when 'A' then 2 else 3 end as seq from a) X
order by seq,id
1 一班 S
6 六班 S
2 五班 A
5 二班 A
3 三班 B
4 四班 B

这个现在看到两种解了,一个是 select aa= case ................................end from order by aa ,我写的比较笨拙
还有一个是六楼的,他的比较好


“十步杀一人,千里不留行。事了拂衣去,深藏身与名。”
2006-09-29 09:22
fengmumei
Rank: 2
等 级:论坛游民
威 望:2
帖 子:298
专家分:14
注 册:2006-9-16
得分:0 

好东西不能错过,我收了


随缘不变,不变随缘
2006-09-29 14:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-93215-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.126240 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved