Oracle根据IN字句条件查询显示结果

年轻的老头-tao 2014-08-21 09:31:54
大家应该知道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'.....
...全文
194 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
小李木耳 2014-08-21
  • 打赏
  • 举报
回复
造个虚拟字段,再排序
bw555 2014-08-21
  • 打赏
  • 举报
回复
select id,name
from table
where id in ('1','2','a')
order by decode(id,'1',1,'2',2,'a',3,4)
CT_LXL 2014-08-21
  • 打赏
  • 举报
回复
引用 楼主 taodengwen 的回复:
大家应该知道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

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧