if i have a query like :
SELECT * FROM table WHERE id IN (3,6,1,8,9);
this array of the ids is build in php dynamically , and the order is
You can order by a value derived from a column. You can use a CASE operator to specify the order:
SELECT * FROM table WHERE id IN (3,6,1,8,9) ORDER BY CASE id WHEN 3 THEN 1 WHEN 6 THEN 2 WHEN 1 THEN 3 WHEN 8 THEN 4 WHEN 9 THEN 5 END