Group by e Having
A instrução SELECT possui duas cláusulas poderosas, pouco compreendidas e usadas: GROUP BY e HAVING.
A cláusula GROUP BY organiza dados em grupos, produzindo sumários. A cláusula HAVING estabelece condições para listar esses grupos. Dizemos que a cláusula HAVING está para a cláusula GROUP BY, assim como a cláusula WHERE está para o comando SELECT.
A sintaxe do comando SELECT com as cláusulas GROUP BY e HAVING é:
SELECT <coluna(s)>
FROM <tabela>
WHERE <condições>
GROUP BY <coluna(s)>
HAVING <condições>
1)Qual o total das vendas?
2)Qual o total das vendas de cada vendedor?
3)Quantas vendas foram feitas?
4)Quantas vendas cada vendedor fez?
5)Qual a menor e a maior venda?
6)Qual a menor e a maior venda de cada vendedor?
7)Qual a média das vendas dos dias 15 e 17?
8)Em quais dias as vendas superaram 3.000?
9)Em quais dias, no período de 14 a 16/04/2008, a média das vendas foi menor que 2000?
10)Que vendedores fecharam mais de 2 vendas nos dias 14, 16 e 18/04/2008?