Maison > base de données > tutoriel mysql > Comment puis-je personnaliser l'ordre de tri dans la clause ORDER BY de MySQL pour des valeurs spécifiques ?

Comment puis-je personnaliser l'ordre de tri dans la clause ORDER BY de MySQL pour des valeurs spécifiques ?

Susan Sarandon
Libérer: 2024-12-13 09:18:10
original
470 Les gens l'ont consulté

How Can I Customize Sorting Order in MySQL's ORDER BY Clause for Specific Values?

Personnalisation de l'ordre dans la clause ORDER BY de MySQL

Lors du tri des données dans MySQL, la clause ORDER BY vous permet de personnaliser l'ordre de tri au-delà des options ascendantes ou décroissantes par défaut. Un défi courant consiste à définir une priorité de tri spécifique pour plusieurs valeurs dans une colonne.

Question :

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

Comment trier ce tableau par Langue (ENU en premier, JPN en second, DAN en dernier) puis par ordre croissant ID?

Réponse :

MySQL fournit la fonction FIELD() qui permet des ordres de tri personnalisés. Il prend une valeur et vérifie sa position dans une liste spécifiée. Grâce à cette fonction, nous pouvons définir la priorité de tri souhaitée comme suit :

ORDER BY FIELD(Language, 'ENU', 'JPN', 'DAN'), ID
Copier après la connexion

Cette requête renverra les données dans l'ordre suivant :

a, d, b, e, c, f, etc.

Considérations :

  1. FIELD() peut réduisez la portabilité SQL car d'autres SGBD peuvent ne pas le prendre en charge.
  2. Pour les longues listes de valeurs, envisagez de créer une table séparée avec une colonne d'ordre de tri et de la joindre à la requête pour le tri.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal