Som det andet svar nævner:den forespørgsel, du har sendt, har intet om, hvilken rækkefølge du vil have dine resultater, bare hvilke resultater du gerne vil have.
For at bestille dine resultater, ville jeg bruge ORDER BY FIELD():
SELECT * FROM foo f where f.id IN (2, 3, 1)
ORDER BY FIELD(f.id, 2, 3, 1);
Argumentlisten til FIELD kan have variabel længde.