Maison >base de données >tutoriel mysql >Comment obtenir des valeurs distinctes avec GROUP_CONCAT() de MySQL ?

Comment obtenir des valeurs distinctes avec GROUP_CONCAT() de MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-08 22:29:11283parcourir

How to Get Distinct Values with MySQL's GROUP_CONCAT()?

Valeurs distinctes MySQL GROUP_CONCAT()

Lorsque vous travaillez avec MySQL, il est courant d'agréger des données à l'aide de la fonction GROUP_CONCAT(). Cependant, que se passe-t-il si vous devez vous assurer que les résultats concaténés sont distincts ?

Considérons le scénario suivant :

SELECT GROUP_CONCAT(categories SEPARATOR ' ') FROM table;

Avec des exemples de données :

categories
----------
test1 test2 test3
test4
test1 test3
test1 test3

Ceci la requête renverra test1 test2 test3 test4 test1 test3. Bien que cela inclut toutes les catégories, cela ne supprime pas les doublons.

Pour obtenir des valeurs distinctes à l'aide de GROUP_CONCAT(), MySQL fournit l'attribut DISTINCT. L'ajout de DISTINCT à la requête garantit que seules les valeurs distinctes sont concaténées :

SELECT GROUP_CONCAT(DISTINCT categories ORDER BY categories ASC SEPARATOR ' ') FROM table;

En utilisant DISTINCT, les valeurs en double test1 test3 sont supprimées, ce qui donne le résultat souhaité : test1 test2 test3 test4.

Cette modification élimine non seulement les doublons, mais trie également les valeurs concaténées par ordre croissant, offrant ainsi une sortie plus organisée.

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