比如select * from shop where id in (6,1,3)
但是返回结果默认是按照id排序的,也就是1,3,6这样排序
如何才能让他按照6,1,3这样排序呢?就是按照括号里的位置 前后排序

解决方案 »

  1.   

    http://topic.csdn.net/t/20040401/15/2913822.html
      

  2.   

    用SQL没有好办法,建议楼主多想想变通的方法
      

  3.   

    select * from shop where id=6 or id=1 or id=3
      

  4.   

    try select * from shop where id in (6,1,3) ORDER BY CASE WHEN id = 6 THEN 1 WHEN id = 1 THEN 2 WHEN id = 3 THEN 3 END
      

  5.   

    select   *   from   shop    where   ID=6
      union   all   
      select   *   from   shop    where   ID=1   
      union   all   
      select   *   from   shop    where   ID=3
      

  6.   

    SELECT decode(id,'6','1', _
                      '1','2', _
                      '3', '3') AS id
    FROM shop
    ORDER BY id