Ele faz o agrupamento pelas colunas indicadas. no caso, ele vai agupar os valores da função agregada pela coluna especificada
No caso da sua query, ele vai realizar a soma agrupando pela coluna Customer, ou seja vai ser exibida uma soma para cada Customer.
fnandos
Você esta agrupando todas as ordens por Customer, ou seja todas as orders que tenham o mesmo customer vão ser colocadas juntas independente de código ou outro atributo. Para fazer um Sum (alguma coisa) é preciso fazer um agrupamento.
boaglio
Puppets:
Não consigo enteder como o Group By funciona, pelo pouco que entendi, ele agrupa as colunas que contém função agregada,
é essa a funcionalidade ?
Olhem o exemplo desta query :
SELECT Customer,SUM(OrderPrice)
FROM Orders
GROUP BY Customer
Porque é colocado a coluna Customer na cláusula GROUP BY ?
Você precisa entender como a coisa funciona, na verdade vc fala para o banco de dados como as coisas funcionam.
1 - Ele busca todas as linhas da tabela
2 - Ele agrupa como vc especificou
3 - Ele faz o cálculo das soma (SUM)
Sem o Group by o banco não sabe o que fazer.
Veja esse exemplo:
SELECT City, Customer,SUM(OrderPrice)
FROM Orders
GROUP BY ????
Como o banco de dados vai adivinhar se vc quer o total só por cidade ou por cliente?