"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 posso concatenar valores em várias linhas no PostgreSQL?

Como posso concatenar valores em várias linhas no PostgreSQL?

Postado em 2025-02-21
Navegar:818

How Can I Concatenate Values Across Multiple Rows in PostgreSQL?

POSTGRESQL DATA ROW VALUE CONEXÃO

]

Nas operações de banco de dados relacionais, geralmente é necessário processar os dados antes de obter o resultado final. Uma tarefa comum é concatenar valores de várias linhas com base em identificadores comuns. No PostGresql, a função group_concat fornece uma solução simples para isso.

group_concat function

PostGresql Versão 9.0 e acima apresenta a função agregada group_concat , que pega um conjunto de valores em uma coluna e os concatena em uma única sequência. group_concat a sintaxe é a seguinte:

GROUP_CONCAT(DISTINCT expression [ORDER BY expression] [separator])

parâmetro:

  • distinto: (opcional) impedem que os valores duplicados sejam incluídos no resultado.
  • expressão: a coluna ou expressão a ser unida.
  • Ordem por: (opcional) Especifica a ordem de unir valores.
  • separador: (opcional) Um caractere ou string usado para separar os valores concatenados. O padrão é vírgula (,).

Exemplo

Considere a tabela a seguir chamada "sample_data":

tm67 9 tm99 tm99 Para concatenar os valores na coluna "value" de cada "id" exclusivo, podemos usar como mostrado abaixo: selecione ID, group_concat (value) como concatenated_values De sample_data Grupo por id; Esta consulta produzirá a seguinte saída: id
id value
tm67
2
group_concat

concatenated_values ​​

SELECT id, GROUP_CONCAT(value) AS concatenated_values
FROM sample_data
GROUP BY id;

tm99 2,3 Como você pode ver, os valores de cada "id" são concatenados e separados por vírgulas. Sintaxe Alternativa para PostGresql 9.0 Começando com o PostGresql Versão 9.0, você pode usar a sintaxe alternativa de : selecione ID, String_agg (value, ',') como concatenado_values De sample_data Grupo por id;
]
group_concat

Esta sintaxe é equivalente à sintaxe

group_concat

descrita acima.

para concluir usando o

group_concat
SELECT id, string_agg(value, ',') AS concatenated_values
FROM sample_data
GROUP BY id;
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