Selecionando valores distintos de múltiplas colunas no MySQL
Ao trabalhar com bancos de dados, muitas vezes é necessário recuperar combinações exclusivas de valores de múltiplas colunas. No entanto, o uso da palavra-chave DISTINCT nem sempre produz os resultados desejados. Este artigo explora uma abordagem alternativa para selecionar valores distintos de duas colunas em um banco de dados MySQL.
Considere a seguinte tabela chamada "foo_bar":
foo | barra |
---|---|
a | c |
c | f |
d | a |
c | a |
f | c |
a | c |
d | a |
a | c |
c | a |
f | c |
Consultando esta tabela com a seguinte instrução SQL:
SELECT DISTINCT foo, bar FROM foo_bar;
produz o seguinte resultado:
foo | bar |
---|---|
a | c |
c | f |
d | a |
c | a |
f | c |
Embora esta consulta garanta que apenas uma instância de cada combinação de valor exclusivo seja retornada, ela não elimina as redundâncias onde os valores são trocados nas duas colunas. Por exemplo, "a c" e "c a" são combinações distintas, mas se referem aos mesmos dados.
Para resolver esse problema, podemos usar a cláusula GROUP BY:
SELECT foo, bar FROM foo_bar GROUP BY foo, bar;
Esta consulta retorna o seguinte resultado:
foo | bar |
---|---|
a | c |
c | f |
d | a |
Como você pode ver, a cláusula GROUP BY combina todas as linhas duplicadas em uma única linha, efetivamente eliminando as repetições e fornecendo combinações verdadeiramente distintas de valores das colunas foo e bar.
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