mysqlのIn句を使うときに指定した順番に結果を表示したい時に「Order By Field」を使う。
ORDER BY FIELE(カラム名, INのリスト...)
こんな感じで。
SELECT id FROM Member WHERE id IN ('b', 'a', 'c') ORDER BY FIELD(id, 'b', 'a', 'c')
結果はこのようにORDER BY FIELDに指定された並び順で出力される。
+----+
| id |
+----+
| b |
+----+
| a |
+----+
| c |
+----+
検証はしてませんがパフォーマンスはどうなのでしょうか?
ある程度は悪くなりそうですが。