📊 GROUP BY no SQL

Introdução

O comando GROUP BY é utilizado para agrupar registros que possuem valores iguais em uma ou mais colunas.

Ele é geralmente utilizado junto com funções de agregação como COUNT(), SUM(), AVG(), MAX() e MIN().

📌 GROUP BY permite transformar grandes volumes de dados em relatórios organizados por categorias.

Sintaxe Básica

SELECT coluna,
FUNÇÃO_AGREGACAO(coluna)

FROM tabela

GROUP BY coluna;

Exemplo de Tabela

VENDAS

+----+------------+--------+

| ID | Categoria  | Valor  |

+----+------------+--------+

| 1  | Eletrônico | 500    |

| 2  | Móveis     | 700    |

| 3  | Eletrônico | 300    |

| 4  | Móveis     | 200    |

+----+------------+--------+

Agrupando por Categoria

SELECT
categoria,
SUM(valor)

FROM vendas

GROUP BY categoria;

Resultado:

Eletrônico = 800

Móveis = 900

GROUP BY com COUNT()

SELECT
cidade,
COUNT(*) AS quantidade

FROM clientes

GROUP BY cidade;

Mostra a quantidade de clientes por cidade.

GROUP BY com AVG()

SELECT
departamento,
AVG(salario)

FROM funcionarios

GROUP BY departamento;

Calcula a média salarial de cada departamento.

Agrupando por Mais de uma Coluna

SELECT
cidade,
sexo,
COUNT(*)

FROM clientes

GROUP BY cidade, sexo;

Permite criar agrupamentos mais detalhados.

GROUP BY com WHERE

SELECT
categoria,
SUM(valor)

FROM vendas

WHERE ano = 2026

GROUP BY categoria;

Primeiro aplica o filtro e depois realiza o agrupamento.

Ordem de Execução

Ordem Comando
1 FROM
2 WHERE
3 GROUP BY
4 HAVING
5 SELECT
6 ORDER BY

Aplicações no Mundo Real

Sistema Utilização
E-commerce Vendas por categoria
RH Funcionários por setor
Financeiro Despesas por período
CRM Clientes por região

Erros Comuns

Erro Problema
Usar coluna sem agrupamento Erro na consulta
Confundir WHERE e HAVING Filtro aplicado errado
Esquecer função agregadora Resultado inesperado
Agrupar coluna incorreta Relatório errado

Boas Práticas

Resumo da Aula

🎓 Aula concluída! Agora você sabe utilizar GROUP BY para organizar dados e criar relatórios analíticos no MySQL.