默认排序和引擎有关这样....你不嫌麻烦的话.... where time<>0 AND img != "" and id in(564,2540,2541,810,2539,2521,2538,1543,1690,1437,813,689) order by order by id!=564,id!=2540,id!=2541,id!=810,id!=2539,id!=2521,id!=2538,id!=1543,id!=1690,id!=1437,id!=813,id!=689
咳咳,上面多个order by, 再给个选择: order by find_in_set(id,'564,2540,2541,810,2539,2521,2538,1543,1690,1437,813,689')
id!=564,id!=2540,id!=2541, 不等于??
find_in_set 就是最好选择。你说id多。你可以在程序中生成。 $id=array(564,2540,2541,810,2539,2521,2538,1543,1690,1437,813,689); $s=join(',',$id); $sql="....where time<>0 AND img != \"\" and id in(564,2540,2541,810,2539,2521,2538,1543,1690,1437,813,689) order by find_in_set(id, '$s') "; echo $sql;
where time<>0 AND img != "" and id in(564,2540,2541,810,2539,2521,2538,1543,1690,1437,813,689)
order by
order by id!=564,id!=2540,id!=2541,id!=810,id!=2539,id!=2521,id!=2538,id!=1543,id!=1690,id!=1437,id!=813,id!=689
再给个选择:
order by find_in_set(id,'564,2540,2541,810,2539,2521,2538,1543,1690,1437,813,689')
不等于??
$id=array(564,2540,2541,810,2539,2521,2538,1543,1690,1437,813,689);
$s=join(',',$id);
$sql="....where time<>0 AND img != \"\" and id in(564,2540,2541,810,2539,2521,2538,1543,1690,1437,813,689)
order by find_in_set(id, '$s') ";
echo $sql;