Maison > base de données > tutoriel mysql > Comment puis-je obtenir une liste de valeurs séparées par des virgules dans les résultats d'une requête MySQL ?

Comment puis-je obtenir une liste de valeurs séparées par des virgules dans les résultats d'une requête MySQL ?

Linda Hamilton
Libérer: 2025-01-17 02:10:09
original
476 Les gens l'ont consulté

How Can I Get a Comma-Separated List of Values in MySQL Query Results?

Génération de listes séparées par des virgules dans les résultats de requête MySQL

De nombreux utilisateurs de bases de données exigent des listes séparées par des virgules dans leurs requêtes MySQL. Bien que MySQL ne prenne pas directement en charge cela, la fonction GROUP_CONCAT offre une solution simple.

Le problème

Imaginez une requête récupérant les données de publication et les noms de sites associés :

<code class="language-sql">SELECT p.id, p.name, 
       (SELECT name 
          FROM sites s 
         WHERE s.id = p.site_id) AS site_list
  FROM publications p;</code>
Copier après la connexion

Cela renvoie une colonne "site_list" avec un seul nom de site par publication. Nous avons plutôt besoin d'une liste séparée par des virgules.

La solution : GROUP_CONCAT

La fonction GROUP_CONCAT concatène les valeurs d'une colonne. Voici la requête améliorée :

<code class="language-sql">SELECT p.id, p.name, GROUP_CONCAT(s.name) AS site_list
FROM sites s
INNER JOIN publications p ON s.id = p.site_id
GROUP BY p.id, p.name;</code>
Copier après la connexion

Ceci utilise un INNER JOIN pour relier les tables "sites" et "publications", garantissant ainsi des associations site-publication correctes. GROUP_CONCAT(s.name) concatène les noms de sites et GROUP BY p.id, p.name regroupe les résultats par ID de publication et nom, créant ainsi la liste souhaitée séparée par des virgules dans la colonne "site_list". Cela fournit efficacement le résultat requis.

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