$id = array(4,2,3,1);
$query = "SELECT `id` FROM `a` WHERE `id` in ($id)";查出来的结果次序不是$id里面的次序,请问怎么样才能查询结果是数组的次序?

解决方案 »

  1.   

    不能按数组排不过可以生成排序字符串select id from a where id in (4,2,3,1) order by instr('4,2,3,1',id)
      

  2.   

    TRY:
    SELECT * FROM TT ORDER BY IF(ID=4,1,IF(ID=2,2,IF(ID=3,1,ID)))
      

  3.   

    $id = array(4,2,3,1); 
    $query = "SELECT `id` FROM `a` WHERE `id` in ($id) order by instr('$id',`id`)"; 
      

  4.   

    select id from a where id in (4,2,3,1) order by instr(',4,2,3,1,',concat(',',id,','))这样才对的,否则要是ID中111或 33 那么排序就不是你要的结果了