主题:请问一个select...in排序的问题
njsf_79
[专家分:0] 发布于 2007-08-11 12:54:00
select * from 数据表 where 字段名 in ('值1','值3','值2')
每次产生排序都是默认的
有'值1','值2','值3'的纪录
,如何产生的纪录排序是按含有'值1','值3','值2'的纪录这样排序,不知道我有没有说清楚,就是顺着in中的顺序来,而不是默认的排序,请问如何做。
回复列表 (共10个回复)
沙发
菜鸭 [专家分:5120] 发布于 2007-08-12 09:22:00
select * from 数据表 where 字段名 in ('值1','值3','值2')
order by
case when 字段名 = '值1' then 1
when 字段名 = '值2' then 2
when 字段名 = '值3' then 3
end
3 楼
chengli520hy [专家分:870] 发布于 2007-08-15 12:47:00
select * from 数据表 where 字段名 in ('值1','值3','值2')
order by 字段名
4 楼
Paul_Pry [专家分:60] 发布于 2007-08-26 18:20:00
同上
5 楼
nitu009 [专家分:0] 发布于 2007-11-07 14:16:00
select * from biao where zduan=值1
union
select * from biao where zduan=值3
union
select * from biao where zduan=值2
union
select * from biao where zduan=值?
6 楼
weiyaoliu [专家分:90] 发布于 2007-11-20 21:29:00
二楼为正解,顶就一个字!!!
7 楼
sbenser999 [专家分:0] 发布于 2008-03-03 10:20:00
order by
decode(字段,值1,1,值2,2,值3,3)
8 楼
lgg201 [专家分:150] 发布于 2008-03-03 12:44:00
同意2楼的看法
9 楼
linxuanxu [专家分:9360] 发布于 2008-03-15 17:25:00
我好像明白你的意思了。但WHERE IN 肯定要排序的。
10 楼
火魂 [专家分:390] 发布于 2008-03-31 11:17:00
select * from 数据表 where 字段名 in ('值1','值3','值2')
order by
case 字段名 when '值1' then 1
when '值2' then 2
when '值3' then 3
end
我来回复