Bien sûr, vous pouvez le faire comme ça (si je comprends vos besoins correctement):
order by field(t.name, 'Jenny', 'Matt', 'Jimmy', 'Craig', 'Sue') desc
EDIT:
En fait, si vous voulez traiter un cas générique avec plusieurs déjà Les valeurs connues de la colonne et le nombre de valeurs inconnues, le cas courant serait de faire apparaître les valeurs connues au début du jeu de résultats (dans l'ordre prédéfini) et le reste après eux. Pour cela, vous devez ajouter les valeurs prédéfinies dans l'ordre inverse à la liste d'arguments de la fonction field
et rendre l'ordre décroissant.
De cette façon 'Sue' ira en premier (field
renvoie 5), 'Craig' - deuxième (4 retournés) et ainsi de suite jusqu'à 'Jenny'. Pour les valeurs qui ne figurent pas dans la liste des arguments, field
renvoie 0. Elles iront donc à la fin du jeu de résultats.
Référence: FIELD
Ainsi est-il un algorithme que vous voulez utiliser ou est-ce juste au hasard et la base de données aura jamais d'autres noms que ceux-ci? – Cellfish