Vous pouvez créer une table temporaire avec deux colonnes (ID, order_num) :
ID order_num
118 1
17 2
113 3
23 4
72 5
Alors, rejoignez-nous :
SELECT * from table
INNER JOIN #temp_table
ON table.id = #temp_table.id
Remarquez que vous pouvez laisser tomber le IN
clause.
Parfois, je crée une table permanente, parce que lorsque le client inévitablement change d'avis sur la commande, je n'ai pas à toucher au code, juste au tableau.
Editar
La réponse utilisant ORDER BY FIELD() (que je ne connaissais pas) est probablement ce que vous voulez.