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

Comment puis-je supprimer les doublons de la fonction GROUP_CONCAT() de MySQL ?

Susan Sarandon
Libérer: 2024-12-26 13:29:09
original
765 Les gens l'ont consulté

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

Éliminer les doublons de GROUP_CONCAT() à l'aide de DISTINCT

Dans MySQL, GROUP_CONCAT() est une fonction utile pour agréger les valeurs de plusieurs lignes dans un chaîne unique séparée par des virgules. Cependant, lorsque vous travaillez avec des valeurs non uniques, des doublons peuvent apparaître dans la chaîne résultante. Pour résoudre ce problème, l'attribut DISTINCT peut être utilisé dans la fonction GROUP_CONCAT().

Problème :

Considérez l'exemple de tableau de données suivant avec une colonne « catégories » :

categories
test1 test2 test3
test4
test1 test3
test1 test3

Lors de l'exécution de la requête GROUP_CONCAT() suivante :

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

Le le résultat est :

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

Cependant, le résultat souhaité est :

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

Solution :

Pour éliminer les valeurs en double du GROUP_CONCAT( ), utilisez l'attribut DISTINCT comme suit :

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

L'attribut DISTINCT garantit que seules les valeurs uniques sont incluses dans la chaîne concaténée. La clause ORDER BY permet de trier les valeurs par ordre croissant. Le résultat est une chaîne séparée par des virgules contenant uniquement les catégories distinctes :

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

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