Maison  >  Article  >  base de données  >  Comment trier les valeurs dans les instructions GROUP_CONCAT ?

Comment trier les valeurs dans les instructions GROUP_CONCAT ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-19 19:02:02568parcourir

How to Sort Values in GROUP_CONCAT Statements?

Tri des valeurs dans les instructions GROUP_CONCAT

La fonction GROUP_CONCAT dans MySQL vous permet de concaténer des valeurs regroupées par une colonne spécifiée. Cependant, par défaut, les valeurs ne sont pas triées. Pour résoudre ce problème, il existe une solution simple.

Solution :

La syntaxe de GROUP_CONCAT avec des capacités de tri est :

GROUP_CONCAT(DISTINCT <expression> ORDER BY <order_expression> <direction> SEPARATOR <separator>)

Où :

  • : Les valeurs à concaténer
  • : La colonne ou l'expression utilisée pour le tri
  • : Le sens de tri (ASC ou DESC)
  • : Le délimiteur utilisé pour séparer les valeurs concaténées

Exemple :

Dans la requête fournie, pour trier les valeurs concaténées par ordre alphabétique, vous pouvez la modifier comme suit :

GROUP_CONCAT((SELECT GROUP_CONCAT(parent.name SEPARATOR " &raquo; ") 
FROM test_competence AS node, test_competence AS parent 
WHERE node.lft BETWEEN parent.lft AND parent.rgt 
  AND node.id = l.competence 
  AND parent.id != 1 
GROUP BY parent.id
ORDER BY parent.name) SEPARATOR "<br />\n") AS competences

En spécifiant ORDER BY parent.name dans la sous-requête, les valeurs seront triées par ordre alphabétique avant d'être concaténées. Cela affichera le résultat souhaité :


Administration » Organisation

Artisanat » Menuiserie


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