Group By

3 respostas
edymrex

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 ?

3 Respostas

mario.fts

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?

Criado 20 de outubro de 2008
Ultima resposta 20 de out. de 2008
Respostas 3
Participantes 4