Maison > base de données > tutoriel mysql > Comment trier les résultats MySQL avec une valeur de champ spécifique en premier ?

Comment trier les résultats MySQL avec une valeur de champ spécifique en premier ?

Patricia Arquette
Libérer: 2025-01-14 07:49:42
original
892 Les gens l'ont consulté

How to Order MySQL Results with a Specific Field Value First?

Tri prioritaire des valeurs de champs spécifiques dans MySQL

Dans MySQL, vous pouvez afficher préférentiellement les enregistrements avec des valeurs de champs spécifiques. Par exemple, si votre table contient des colonnes id, name et priorité, vous souhaiterez peut-être d'abord afficher les enregistrements avec name="core", quelle que soit leur priorité.

Vous pouvez utiliser la fonction FIELD de MySQL pour y parvenir :

Tri complet de toutes les valeurs :

<code class="language-sql">SELECT id, name, priority
FROM mytable
ORDER BY FIELD(name, "core", "board", "other");</code>
Copier après la connexion

Cela triera les résultats dans l'ordre spécifié dans le paramètre FIELD(), avec "core" en premier, "board" ensuite et "other" en dernier.

Seules les valeurs « Core » sont priorisées :

Si vous souhaitez uniquement prioriser "core" et ne vous souciez pas de l'ordre des autres valeurs :

<code class="language-sql">SELECT id, name, priority
FROM mytable
ORDER BY FIELD(name, "core") DESC;</code>
Copier après la connexion

L'ordre DESC garantira que la ligne « de base » vient en premier.

Combinez le tri personnalisé et le tri régulier :

Vous pouvez également combiner un tri personnalisé par « noyau » avec un tri régulier par d'autres champs :

<code class="language-sql">SELECT id, name, priority
FROM mytable
ORDER BY FIELD(name, "core") DESC, priority;</code>
Copier après la connexion

Cela donnera la priorité aux lignes « principales », puis triera les lignes restantes par priorité.

Remarque :

  • Cette fonctionnalité est spécifique à MySQL.
  • FIELD() renvoie un index de base un où les valeurs manquantes donnent zéro.
  • L'ordre DESC est requis, sauf si vous spécifiez toutes les valeurs de champ possibles.

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