Maison >base de données >tutoriel mysql >Comment obtenir des valeurs distinctes avec GROUP_CONCAT() de MySQL ?
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!