MySQL a une fonction pratique appelée FIELD()
ce qui est excellent pour des tâches comme celle-ci.
ORDER BY FIELD(Language,'ENU','JPN','DAN'), ID
Notez cependant que
-
Cela rend votre SQL moins portable, car d'autres SGBD pourraient ne pas avoir une telle fonction
-
Lorsque votre liste de langues (ou d'autres valeurs à trier) devient beaucoup plus longue, il est préférable d'avoir une table séparée avec une colonne sortorder pour elles, et de la joindre à vos requêtes pour la commande.