Maison > base de données > tutoriel mysql > Comment puis-je supprimer les doublons des résultats GROUP_CONCAT() de MySQL ?

Comment puis-je supprimer les doublons des résultats GROUP_CONCAT() de MySQL ?

DDD
Libérer: 2024-12-10 21:21:10
original
187 Les gens l'ont consulté

How Can I Remove Duplicates from MySQL's GROUP_CONCAT() Results?

Filtrer les doublons dans les résultats GROUP_CONCAT() à l'aide de DISTINCT de MySQL

Dans les requêtes de base de données, la fonction GROUP_CONCAT() est fréquemment utilisée pour concaténer les valeurs de plusieurs lignes en une seule chaîne . Cependant, la chaîne résultante peut parfois contenir des valeurs en double. Pour résoudre ce problème, MySQL fournit l'attribut DISTINCT dans GROUP_CONCAT().

GROUP_CONCAT() avec DISTINCT : un exemple pratique

Considérez le tableau suivant avec une colonne « catégories » :

categories
test1 test2 test3
test4
test1 test3
test1 test3

Si nous exécutons la requête suivante :

SELECT GROUP_CONCAT(categories SEPARATOR ' ') FROM table;
Copier après la connexion

Nous obtiendrons ce qui suit résultat :

test1 test2 test3 test4 test1 test3
Copier après la connexion

Cependant, nous pouvons vouloir exclure les valeurs en double, ce qui entraîne :

test1 test2 test3 test4
Copier après la connexion

Utiliser DISTINCT pour éliminer les doublons

Pour y parvenir, nous avons simplement ajoutez l'attribut DISTINCT à la fonction GROUP_CONCAT() :

SELECT GROUP_CONCAT(DISTINCT categories ORDER BY categories ASC SEPARATOR ' ') FROM table;
Copier après la connexion

En spécifiant DISTINCT, MySQL va éliminez les valeurs en double de la chaîne concaténée, ce qui donne le résultat souhaité. Notez que la clause ORDER BY garantit que les valeurs concaténées sont triées par ordre croissant.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal