Utilisez GROUP BY de MySQL pour connecter des chaînes multilignes
Une tâche courante dans les opérations de base de données consiste à concaténer des chaînes multilignes. Dans MySQL, la clause GROUP BY constitue un moyen pratique d'y parvenir.
La tâche consiste à convertir le tableau comme indiqué ci-dessous :
foo_id | foo_name |
---|---|
1 | A |
1 | B |
2 | C |
Convertir en :
foo_id | foo_name |
---|---|
1 | A B |
2 | C |
La solution consiste à utiliser la fonction GROUP_CONCAT et la clause GROUP BY :
<code class="language-sql">SELECT foo_id, GROUP_CONCAT(foo_name SEPARATOR ' ') FROM table GROUP BY foo_id;</code>
Décomposons la déclaration :
GROUP_CONCAT
: Cette fonction concatène les valeurs non NULL de chaque groupe dans la colonne spécifiée (foo_name dans ce cas). GROUP BY foo_id
: Cette clause regroupe les lignes par colonne foo_id, garantissant que l'opération de jointure est effectuée sur chaque valeur foo_id unique. SEPARATOR ' '
(facultatif) : Ceci précise le caractère utilisé pour séparer les valeurs concaténées (' ' ajoute un espace entre les noms). Dans notre exemple, cette fonction concaténera les valeurs foo_name pour chaque foo_id pour obtenir le résultat souhaité.
Pour plus d'informations sur GROUP_CONCAT, consultez la documentation 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!