Możesz użyć funkcji ORDER BY i FIELD.Zobacz http://lists.mysql.com/mysql/209784
SELECT * FROM table ORDER BY FIELD(ID,1,5,4,3)
Używa Field() funkcja, która "Zwraca indeks (pozycję) str na liście str1, str2, str3, .... Zwraca 0, jeśli str nie zostanie znaleziony" zgodnie z dokumentacją. Tak więc właściwie sortujesz zestaw wyników według wartości zwracanej przez tę funkcję, która jest indeksem wartości pola w danym zestawie.