Maison >base de données >tutoriel mysql >Comment la clause GROUP BY de MySQL peut-elle concaténer des chaînes ?
Clause GROUP BY de MySQL : combinaison de chaînes
La puissante clause GROUP BY
de MySQL ne se limite pas à l'agrégation numérique. Il peut également concaténer efficacement des chaînes associées à des données groupées. Ceci est particulièrement utile lorsqu'il s'agit de tables contenant plusieurs lignes partageant un identifiant commun.
Considérez cet exemple de tableau :
foo_id | foo_name |
---|---|
1 | A |
1 | B |
2 | C |
Notre objectif est de combiner foo_name
valeurs pour chaque foo_id
unique, ce qui donne :
foo_id | foo_name |
---|---|
1 | A, B |
2 | C |
Cette transformation est réalisée à l'aide de la requête SQL suivante :
<code class="language-sql">SELECT foo_id, GROUP_CONCAT(foo_name SEPARATOR ', ') FROM table GROUP BY foo_id;</code>
Explication de la requête :
GROUP BY foo_id
: Cela regroupe les lignes en fonction de la colonne foo_id
, réunissant toutes les valeurs foo_name
pour chaque identifiant unique.GROUP_CONCAT(foo_name SEPARATOR ', ')
: Cette fonction concatène les foo_name
valeurs au sein de chaque groupe, en utilisant une virgule et un espace comme séparateur.La fonction GROUP_CONCAT()
propose un argument SEPARATOR
, permettant une personnalisation flexible du délimiteur entre les chaînes concaténées. Pour plus de détails, reportez-vous à 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!