sql: por que consulta valores repetidos quando se usa 'GROUP CONCAT' + 'GROUP BY'?
-
18-09-2019 - |
Pergunta
A consulta:
SELECT MemberId, a.MemberName, GROUP_CONCAT(FruitName) FROM a LEFT JOIN b ON
a.MemberName = b.MemberName GROUP BY a.MemberName
Table a
MemberID MemberName
-------------- ----------
1 Al
1 Al
3 A2
Table b
MemberName FruitName
--------------- --------------
Al Apple
Al Mango
A2 Cherry
Resultando saída da consulta acima:
MemberId MemberName GROUP_CONCAT(FruitName)
3 A2 Cherry
1 A1 Apple,Apple,Mango,Mango
As tabelas reais que estou usando tem 10 colunas cada um por isso só armazenar tudo em uma tabela não é uma solução alternativa. Dito isto, como posso mudar a consulta apenas 'Apple,Mango'
troca de MemberNam
e?
Solução
Adicionar a palavra-chave DISTINCT à coluna agrupadas:
GROUP_CONCAT(DISTINCT FruitName)
Outras dicas
try
GROUP_CONCAT(Distinct FruitName)
gêneros codice tagore
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow