Seperti yang disebutkan oleh jawaban lain:kueri yang Anda poskan tidak memiliki urutan apa yang Anda inginkan dari hasil Anda, hanya hasil yang ingin Anda dapatkan.
Untuk memesan hasil Anda, saya akan menggunakan ORDER BY FIELD():
SELECT * FROM foo f where f.id IN (2, 3, 1)
ORDER BY FIELD(f.id, 2, 3, 1);
Daftar argumen ke FIELD dapat berupa panjang variabel.