"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como combinar várias linhas em uma única linha separada por vírgula no MySQL?

Como combinar várias linhas em uma única linha separada por vírgula no MySQL?

Postado em 2025-02-27
Navegar:945

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

mysql: convertendo várias linhas em uma única linha de seleção de vírgula

dentro de um banco de dados MySQL, você pode encontrar uma situação em que você deseja condensar múltiplas fileiras em uma única linha, com colunas específicas. Isso pode ser alcançado utilizando a função group_concat, como demonstrado no cenário de exemplo a seguir. A tabela de pratos tem a seguinte estrutura:

dish: DISH_ID DISH_NAME 1 Dish_1 2 DISH_2 3 DISH_3 4 DISH_4 enquanto a tabela drish_has_dishes se parece com o seguinte:

DISH_HAS_DISHES: FEELE_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
Objetivo:

DISH_HAS_DISHES:
meal_id   dish_id
1         2
1         3
1         4

refeição_id dish_ids dish_names 1 2,3,4 DISH_2, DISH_3, DISH_4

Solução:

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

selecione M.Meal_id, Group_concat (DISH_ID) como DISH_IDS, Group_concat (DISH_NAME) como DISH_NAMES De dish_has_dishes m Junte -se Dish D em (M.Dish_id = D.Dish_id) Grupo por refeição_id Nesta Query:

começamos juntando -se à tabela dish_has_dishes (m) com a tabela de pratos (d) na coluna dish_id. Columns. Esta técnica é especialmente útil ao trabalhar com dados tabulares e consolidar informações em várias linhas.
            
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3