大家应该知道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'.....
------解决方案--------------------
select id,name,decode(id,'2',1,'1',2,'a',3,4) seq from table where id in ('2','1','a') order by seq
------解决方案--------------------
select id,name
from table
where id in ('1','2','a')
order by decode(id,'1',1,'2',2,'a',3,4)
------解决方案--------------------
造个虚拟字段,再排序