"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment combiner plusieurs lignes dans une seule ligne séparée par des virgules dans MySQL?

Comment combiner plusieurs lignes dans une seule ligne séparée par des virgules dans MySQL?

Publié le 2025-02-27
Parcourir:591

How to Combine Multiple Rows into a Single Comma-Separated Row in MySQL?

mysql: convertir plusieurs lignes en une seule ligne séparée par des virgules

dans une base de données MySQL, vous pouvez rencontrer une situation où vous voulez condenser plusieurs lignes. Cela peut être réalisé en utilisant la fonction Group_Concat, comme démontré dans l'exemple de scénario suivant. La table à vaisselle a la structure suivante:

Dish: Dish_id Dish_name 1 Dish_1 2 Dish_2 3 Dish_3 4 Dish_4 tandis que la table Dish_has_Dishes ressemble à ceci:

Dish_has_Dishes: farine_id Dish_id 1 2 1 3 1 4

DISH:
dish_id   dish_name
1         dish_1
2         dish_2
3         dish_3
4         dish_4
Objectif:

DISH_HAS_DISHES:
meal_id   dish_id
1         2
1         3
1         4

farine_id Dish_ids Dish_Names 1 2,3,4 Dish_2, Dish_3, Dish_4

Solution:

meal_id     dish_ids     dish_names
1           2,3,4        dish_2, dish_3, dish_4

SELECT M.Meal_id, Group_concat (Dish_id) as Dish_ids, Group_Concat (Dish_name) comme Dish_Names De Dish_Has_Dishes M Rejoignez Dish D sur (M.DISH_ID = D.DISH_ID) GROUP BY MEAL_ID Dans cette requête:

, nous commençons par rejoindre la table Dish_has_Dishes (M) avec la table Dish (D) dans la colonne Dish_ID.
DISH:
dish_id   dish_name
1         dish_1
2         dish_2
3         dish_3
4         dish_4
Colonnes.

Enfin, nous regroupons les résultats par le repas pour obtenir une seule ligne pour chaque repas.
  • En exécutant cette requête, nous obtiendrons la sortie souhaitée, où chaque ligne représente un repas, ses ids de vaisselle, et leurs noms de vaisselle correspondants, tous représentés comme des valeurs distinctes. Cette technique est particulièrement utile lorsque vous travaillez avec des données tabulaires et consolidant les informations sur plusieurs lignes.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3