Cassic

Cláusula GROUP BY

Autor: Tadeu Pereira


     Quando queremos agrupar o resultado de uma ou mais funções com os dados de uma ou mais colunas devemos usar o group by.

Sintaxe :

select  Função, Coluna from Tabela
group by Coluna


Tabela
Nome da tabela
Função
Função a ser unida com a coluna
Coluna
Nome de uma coluna

Exemplo :

select sum(Valor) as Soma, Cliente from Pedido
group by Cliente

Resultado


Soma
Cliente
3500
2
2000
4
2500
5

Cláusula having

     Having é utilizada para filtrar o resultado de uma função de agrupamento juntamente com a cláusula group by.

Sintaxe :

select  Função, Coluna from Tabela
group by Coluna
having Condição


Tabela
Nome da tabela
Função
Função a ser unida com a coluna
Coluna
Nome de uma coluna
Condição
Cria condição para filtrar o resultado da função.

Exemplo :

select sum(Valor) as Soma, Cliente from Pedido
group by Cliente
having sum(Valor) >= 2500

Resultado


Soma
Cliente
3500
2
2500
5