Maison >base de données >tutoriel mysql >Comment puis-je prioriser des lignes spécifiques lors de la commande des résultats MySQL ?

Comment puis-je prioriser des lignes spécifiques lors de la commande des résultats MySQL ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-14 07:06:46728parcourir

How can I prioritize specific rows when ordering MySQL results?

Tri des résultats MySQL et définition des priorités

Cet article décrit comment hiérarchiser des lignes spécifiques dans le tri des résultats MySQL.

Méthode 1 : Tri complet

Si vous devez trier en fonction de toutes les valeurs possibles dans un champ, quel que soit leur ordre :

<code class="language-sql">SELECT id, name, priority
FROM mytable
ORDER BY FIELD(name, "core", "board", "other")</code>

Méthode 2 : Prioriser "core", l'ordre des autres valeurs n'a pas d'importance

Si vous devez donner la priorité au « noyau » et ignorer l'ordre des autres valeurs :

<code class="language-sql">SELECT id, name, priority
FROM mytable
ORDER BY FIELD(name, "core") DESC</code>

Méthode 3 : Prioriser "core", puis trier dans l'ordre régulier

Si vous devez prioriser "core", alors triez dans l'ordre habituel des autres valeurs du champ :

<code class="language-sql">SELECT id, name, priority
FROM mytable
ORDER BY FIELD(name, "core") DESC, priority</code>

Remarque :

  • Cette méthode ne peut fonctionner qu'avec MySQL.
  • La fonction FIELD() renvoie l'index de base 1 de la valeur. Si la valeur ne figure pas dans la liste fournie, elle renverra zéro, donc DESC est généralement requis.

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!

Déclaration:
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