Ordre des données avec un ordre personnalisé dans MySQL
Dans MySQL, définir un ordre de tri personnalisé est possible avec la fonction FIELD(). Cette fonction évalue la valeur d'un champ par rapport à une liste de valeurs et renvoie une valeur numérique basée sur la position de la valeur dans la liste. En tirant parti de cette fonction, vous pouvez spécifier l'ordre souhaité pour des valeurs spécifiques.
Considérez le tableau suivant :
ID Language Text 0 ENU a 0 JPN b 0 DAN c 1 ENU d 1 JPN e 1 DAN f
Pour renvoyer les lignes triées par langue et ID ascendant, ENU étant le première priorité, suivi de JPN, puis de DAN, vous pouvez utiliser la clause ORDER BY suivante :
ORDER BY FIELD(Language,'ENU','JPN','DAN'), ID
Cette requête demande à MySQL de trier les résultats par le champ Langue, en utilisant les valeurs « ENU », « JPN » et « DAN » comme ordre de tri personnalisé. Les lignes avec la valeur « ENU » dans le champ Langue apparaîtront en premier, suivies de celles avec « JPN » et enfin celles avec « DAN ». Au sein de chaque groupe de langues, les lignes seront classées par ID croissant.
Il est important de noter que :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!