Group By E Having

1,487 views

Published on

Slides das aulas sobre Banco de Dados

Published in: Education, Business, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,487
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Group By E Having

  1. 1. 4) Quantas vendas cada vendedor fez? SELECT vendedor, COUNT(*) FROM vendas GROUP BY vendedor; 5) Qual a menor e a maior venda? SELECT min(valor), MAX(valor) FROM vendas; 6) Qual a menor e a maior venda de cada vendedor? SELECT vendedor, MIN(valor), MAX(valor) FROM vendas GROUP BY vendedor; 7) Qual a média das vendas dos dias 15 e 17? SELECT data, AVG(valor) FROM vendas WHERE data IN ('2008-04-15', '2008-04-17') GROUP BY data; 8) Em quais dias as vendas superaram 3.000? SELECT data, SUM(valor) FROM vendas GROUP BY data HAVING SUM(valor) >3000; 9)Em quais dias, no período de 14 a 16/04/2008, a média das vendas foi menor que 2000? SELECT data, AVG(valor) FROM vendas WHERE data BETWEEN '2008-04-14' AND '2008-04-16' GROUP BY data HAVING AVG(valor) <2000; 10)Que vendedores fecharam mais de 2 vendas nos dias 14, 16 e 18/04/2008? SELECT vendedor, COUNT(*) FROM vendas WHERE data IN ('2008-04-14', '2008-04-16', '2008-04-18') GROUP BY vendedor HAVING COUNT(*) >2;
  2. 2. 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> Exemplo: Crie a seguinte tabela a seguir: VENDEDOR DATA VALOR Fulano 14/04/2009 600 Fulano 16/04/2009 1000 Fulano 18/04/2009 800 Beltrano 15/04/2009 1200 Beltrano 17/04/2009 1600 Cicrano 14/04/2009 1000 Cicrano 16/04/2009 1200 Cicrano 17/04/2009 1600 Cicrano 18/04/2009 1400 Cicrano 15/04/2009 1800 1) Qual o total das vendas? SELECT SUM(valor) FROM vendas; 2) Qual o total das vendas de cada vendedor? SELECT vendedor, SUM(valor) FROM vendas GROUP BY vendedor; 3) Quantas vendas foram feitas? SELECT COUNT(*) FROM vendas;

×