日期:2014-05-17  浏览次数:20934 次

如何根据in里面的顺序排序
请问,如何按照查询语句中in里面内容的顺序,排序?
如:select   *   from   temp   where   name   in( '三 ', '一 ', '五 ', '六 ', '二 ', '四 ', '七 ');


我想查询的结果的排序也是:








请问,语句应该怎么写?

------解决方案--------------------
order by decode(name, '三 ',1, '一 ',2, '五 ',3, '六 ',4, '二 ',5, '四 ',6, '七 ',7)
------解决方案--------------------
select decode(a.name, '三 ',1, '一 ',2, '五 ',3, '六 ',4, '二 ',5, '四 ',6, '七 ',7) xh,a.*
from temp a
where a.name in( '三 ', '一 ', '五 ', '六 ', '二 ', '四 ', '七 ')
order by xh

------解决方案--------------------
select * from b where id in (6,3,4)
order by decode(id,6,1,3,2,4,3)