Maison >base de données >tutoriel mysql >Comment puis-je combiner plusieurs lignes de données en une seule ligne à l'aide de la clause GROUP BY de SQL ?

Comment puis-je combiner plusieurs lignes de données en une seule ligne à l'aide de la clause GROUP BY de SQL ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-15 08:58:44545parcourir

How Can I Combine Multiple Rows of Data into a Single Row Using SQL's GROUP BY Clause?

Utilisez GROUP BY pour fusionner plusieurs lignes de données en une seule ligne

Lors du traitement des données, vous pouvez rencontrer des tableaux dans lesquels chaque ligne représente une entité unique et certaines colonnes doivent être consolidées entre ces entités. Cela se produit lorsque vous devez joindre plusieurs lignes de résultats pour une colonne spécifique en une seule ligne.

Supposons qu'il existe un tableau appelé "ActorsInfo" avec deux colonnes : "Film" et "Acteur". Chaque ligne représente une combinaison de films et de leurs acteurs associés. Votre objectif est de transformer ces données en un nouveau tableau contenant une colonne "Film" et une colonne "ActorList" contenant une liste de tous les acteurs de chaque film, séparés par des virgules.

Pour cela, la clause GROUP BY de SQL est utile. GROUP BY vous permet de regrouper des lignes en fonction des valeurs d'une ou plusieurs colonnes, puis d'appliquer des fonctions d'agrégation pour calculer des informations récapitulatives au sein de chaque groupe.

La clé ici est la fonction d'agrégation string_agg(). Il concatène les valeurs des colonnes spécifiées, séparées par un délimiteur de votre choix. Dans ce cas, la syntaxe est :

<code class="language-sql">SELECT Movie, string_agg(Actor, ', ') AS ActorList
FROM ActorsInfo
GROUP BY Movie;</code>

Regroupez les lignes par titre de film en spécifiant « Film » dans les clauses SELECT et GROUP BY, et calculez la colonne ActorList en concaténant les valeurs Actor séparées par des virgules.

Le résultat est un nouveau tableau où chaque ligne représente un film unique et la colonne "ActorList" contient la liste complète de tous les acteurs impliqués dans ce film.

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!

Déclaration:
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