Maison >base de données >tutoriel mysql >Comment puis-je concaténer des chaînes dans MySQL à l'aide de GROUP BY ?
Combinaison d'entrées en double dans MySQL à l'aide de GROUP_CONCAT
Ce guide explique comment fusionner des lignes avec des valeurs foo_id
identiques, en concaténant leurs entrées foo_name
correspondantes en une seule chaîne dans une table MySQL.
La solution : GROUP_CONCAT et GROUP BY
La fonction GROUP_CONCAT
de MySQL, utilisée conjointement avec GROUP BY
, résout efficacement ce problème. Voici la requête :
<code class="language-sql">SELECT id, GROUP_CONCAT(name SEPARATOR ' ') FROM table GROUP BY id;</code>
Répartition des requêtes :
SELECT id, GROUP_CONCAT(name SEPARATOR ' ')
: Ceci sélectionne la colonne id
et utilise GROUP_CONCAT
pour combiner les valeurs de la colonne name
pour chaque groupe. Le SEPARATOR ' '
spécifie un espace comme délimiteur entre les noms concaténés.FROM table
: Indique le tableau contenant les données.GROUP BY id
: Regroupe les lignes en fonction des valeurs uniques dans la colonne id
.Comment ça marche :
GROUP_CONCAT
regroupe les valeurs non NULL de chaque groupe défini par GROUP BY
. Le séparateur assure la lisibilité en plaçant des espaces entre les noms concaténés. Cela fusionne efficacement les lignes avec le même id
, créant une seule ligne avec tous les noms associés combinés en une seule chaîne.
Lectures complémentaires :
Pour des informations plus complètes sur GROUP_CONCAT
, consultez la documentation officielle de MySQL : https://www.php.cn/link/18fc3b6cc1e55ccea877c161e2e9ba27
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!