Eu entendo o objetivo de GROUP BY x
Mas como
GROUP BY x, y
funciona e o que isso significa?
sql
group-by
multiple-columns
eu--''''''---------''''''''''''
fonte
fonte
Respostas:
Group By X
significa colocar todos aqueles com o mesmo valor para X no grupo .Group By X, Y
significa colocar todos aqueles com os mesmos valores para X e Y em um grupo .Para ilustrar usando um exemplo, digamos que temos a tabela a seguir, relacionada a quem está cursando o assunto em uma universidade:
Quando você usa apenas uma
group by
coluna no assunto; dizer:Você receberá algo como:
... porque existem 5 entradas para ITB001 e 2 para MKB114
Se tivéssemos
group by
duas colunas:nós conseguiríamos isso:
Isso ocorre porque, quando agrupamos por duas colunas, está dizendo "Agrupe-as para que todas as pessoas com o mesmo Assunto e Semestre estejam no mesmo grupo e calcule todas as funções agregadas (Contagem, Soma, Média, etc.) ) para cada um desses grupos " . Neste exemplo, isso é demonstrado pelo fato de que, quando os contamos, há três pessoas fazendo ITB001 no semestre 1 e duas no semestre 2. As duas pessoas que fazem MKB114 estão no semestre 1, portanto, não há linha para o semestre 2 (nenhum dado se encaixa no grupo "MKB114, semestre 2")
Espero que isso faça sentido.
fonte
GROUP BY A,B
é o mesmo queGROUP BY B,A
?GROUP BY a, b
eGROUP BY a AND b
uma vez que o segundo lista apenas itens agrupados com exatamente o mesmo conteúdo e sem "subgrupos". Nesse caso, a saída seria a mesma que a primeira.A
GROUP BY
cláusula é usada em conjunto com as funções agregadas para agrupar o conjunto de resultados por uma ou mais colunas. por exemplo:Lembre-se desta ordem:
Você pode usar tudo isso se estiver usando funções agregadas, e essa é a ordem em que elas devem ser definidas, caso contrário, você poderá obter um erro.
As funções agregadas são:
fonte