MySQL tiene una función útil llamada FIELD()
lo cual es excelente para tareas como esta.
ORDER BY FIELD(Language,'ENU','JPN','DAN'), ID
Sin embargo, tenga en cuenta que
-
Hace que su SQL sea menos portátil, ya que otros DBMS podrían no tener esa función
-
Cuando su lista de idiomas (u otros valores para ordenar) es mucho más larga, es mejor tener una tabla separada con una columna de ordenación para ellos y unirla a sus consultas para ordenar.