Zoals het andere antwoord vermeldt:de zoekopdracht die u heeft geplaatst, heeft niets te maken met de volgorde waarin u uw resultaten wilt hebben, alleen welke resultaten u wilt krijgen.
Om uw resultaten te ordenen, zou ik ORDER BY FIELD():
. gebruikenSELECT * FROM foo f where f.id IN (2, 3, 1)
ORDER BY FIELD(f.id, 2, 3, 1);
De lijst met argumenten voor FIELD kan een variabele lengte hebben.