当前位置: 代码迷 >> Oracle开发 >> Oracle Sql 依据in字句条件排序
  详细解决方案

Oracle Sql 依据in字句条件排序

热度:25   发布时间:2016-04-24 06:37:51.0
Oracle Sql 根据in字句条件排序
大家应该知道in字句查询出来的结果是无序的,如 id in('1','2')与id('2','1')查询的结果是一模一样的,那么怎么才能使查询的结果是有序的呢? 按照in字句的条件显示结果
例如:
.... where id in('2','1','a') 查询的结果应该是:
id    |    name....
'2'    |    张三
‘1’   |    李四
‘a'    |    王五...    
id的顺序与in字句中的顺序是一致的,而不是
’1‘ ....
'2'....
'a'.....
------解决方案--------------------
为什么会有这样奇怪的需求呢

------解决方案--------------------
引用:
Quote: 引用:

为什么会有这样奇怪的需求呢

有------

decode的值根据你in中的顺序来给定
------解决方案--------------------
select id,name
from table
where id in ('1','2','a')
order by decode(id,'1',1,'2',2,'a',3,4)
  相关解决方案