当前位置: 代码迷 >> Oracle管理 >> 怎么保持where in查询后的顺序
  详细解决方案

怎么保持where in查询后的顺序

热度:68   发布时间:2016-04-24 05:02:25.0
如何保持where in查询后的顺序
参数数组a
int[] a =[2848,2846,2845,2844,2847,2818];

select Id from StateInfo where Id in(2848,2846,2845,2844,2847,2818) ;

结果按从小到大排列了: 2818,2844,2845,2846,2847,2848;
如何保持查询结果仍按参数a里的次序呢?

------解决方案--------------------
select Id from StateInfo where Id in(2848,2846,2845,2844,2847,2818) order by instr('2848,2846,2845,2844,2847,2818',id)
  相关解决方案