Maison > base de données > tutoriel mysql > Utilisez la fonction GROUP_CONCAT de MySQL pour fusionner plusieurs lignes de données en une seule ligne

Utilisez la fonction GROUP_CONCAT de MySQL pour fusionner plusieurs lignes de données en une seule ligne

WBOY
Libérer: 2023-07-25 19:54:25
original
3492 Les gens l'ont consulté

Utilisez la fonction GROUP_CONCAT de MySQL pour fusionner plusieurs lignes de données en une seule ligne

Dans le processus de traitement des données réel, nous devons parfois fusionner plusieurs lignes de données en une seule ligne pour faciliter l'analyse et le traitement ultérieurs. La fonction GROUP_CONCAT de MySQL peut nous aider à réaliser cette fonction. Cet article présentera l'utilisation de la fonction GROUP_CONCAT et fournira des exemples de code dans certains scénarios courants.

La fonction GROUP_CONCAT est une fonction d'agrégation utilisée pour fusionner des chaînes dans MySQL. Elle peut concaténer une colonne de données en une chaîne selon le délimiteur spécifié. La syntaxe spécifique est la suivante :

GROUP_CONCAT([DISTINCT] expr [,expr ...]
             [ORDER BY {unsigned_integer | col_name | expr}
                  [ASC | DESC] [,col_name ...]]
             [SEPARATOR str_val])
Copier après la connexion

où DISTINCT représente la déduplication des données à fusionner, expr représente le nom de la colonne ou l'expression à fusionner, ORDER BY est utilisé pour contrôler l'ordre des données fusionnées et SEPARATOR est utilisé pour spécifiez la chaîne fusionnée.

Voici des exemples de code montrant comment utiliser la fonction GROUP_CONCAT dans certains scénarios courants :

  1. Combinaison de données dans la même colonne

Supposons que nous ayons une table d'étudiants qui contient les noms et les loisirs des étudiants. Nous aimerions regrouper les passe-temps de chaque élève sur une seule ligne pour une analyse plus facile. Ceci peut être réalisé en utilisant le code suivant :

SELECT student_name, GROUP_CONCAT(hobby) AS hobbies
FROM student
GROUP BY student_name;
Copier après la connexion

Le code ci-dessus affichera le nom de chaque élève et ses passe-temps, et les passe-temps sont connectés à l'aide du séparateur virgule par défaut.

  1. Fusionner les données dans plusieurs colonnes

Parfois, nous devons fusionner des données dans plusieurs colonnes. Par exemple, en plus des loisirs, notre tableau des étudiants comporte également une colonne de notation. Nous souhaitons combiner les goûts et les notes de chaque élève en une seule chaîne. Ceci peut être réalisé en utilisant le code suivant :

SELECT student_name, GROUP_CONCAT(CONCAT(hobby, ':', score)) AS hobby_score
FROM student
GROUP BY student_name;
Copier après la connexion

Le code ci-dessus affichera le nom de chaque élève, ainsi que ses passe-temps et ses notes, séparés par des deux-points.

  1. Fusionner les données dans l'ordre spécifié

Parfois, nous devons fusionner les données dans l'ordre spécifié. Par exemple, nous avons une table de commande qui contient les numéros de commande et les noms de produits. Nous souhaitons fusionner les noms de produits par ordre croissant du numéro de commande. Vous pouvez utiliser le code suivant pour y parvenir :

SELECT order_id, GROUP_CONCAT(product_name ORDER BY order_id ASC) AS products
FROM orders
GROUP BY order_id;
Copier après la connexion

Le code ci-dessus affichera le numéro de commande et le nom du produit correspondant à chaque commande. Les noms de produits sont classés par ordre croissant du numéro de commande.

Les exemples de code ci-dessus montrent comment utiliser la fonction GROUP_CONCAT de MySQL dans certains scénarios courants. Utilisez la fonction GROUP_CONCAT pour fusionner facilement plusieurs lignes de données en une seule ligne, améliorant ainsi l'efficacité du traitement des données. J'espère que cet article pourra être utile pour vos opérations de base de données !

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!

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal