COUNT, SUM, AVG,
MIN, MAXAs funções agregadas em SQL servem para resumir informações numéricas de um banco de dados. Em vez de mostrar cada linha individual, elas realizam cálculos como soma, média ou contagem com base em várias linhas de uma só vez.
Essas funções são muito úteis em análises do dia a dia. Por exemplo, ao invés de ver todos os boletins de uma turma, podemos saber qual foi a média geral, ou quantos estudantes estão matriculados com uma contagem.
Principais funções:
COUNT() – Conta o número total de registros (linhas). Ex: Quantos alunos há em uma turma?
SUM() – Soma os valores de uma coluna numérica. Ex: Qual o total arrecadado em uma rifa?
AVG() – Calcula a média dos valores. Ex: Qual a média de idade dos alunos?MIN() – Encontra o menor valor. Ex: Qual a menor nota de uma avaliação?MAX() – Encontra o maior valor. Ex: Qual o maior número de curtidas em uma postagem?
Essas funções são frequentemente usadas com SELECT para responder perguntas como:
Elas são muito aplicadas em áreas como:
Exemplos práticos com a tabela alunos:
-- Quantos alunos estão cadastrados?
SELECT COUNT(*) AS total_alunos FROM alunos;
-- Qual a idade média dos alunos?
SELECT AVG(idade) AS media_idade FROM alunos;
-- Qual a menor idade registrada?
SELECT MIN(idade) AS menor_idade FROM alunos;
-- Qual a maior idade registrada?
SELECT MAX(idade) AS maior_idade FROM alunos;
Dica: Essas funções não precisam ser usadas apenas em tabelas grandes. Mesmo em pequenas turmas ou grupos de projetos, você já pode praticar e aplicar!
Agora que você conhece as funções agregadas, vamos ver exemplos reais de como elas são usadas para responder perguntas que aparecem no dia a dia em escolas, comércios, redes sociais e outros sistemas.
alunos-- Quantos alunos estão cadastrados?
SELECT COUNT(*) AS total_alunos FROM alunos;
-- Qual a média de idade da turma?
SELECT AVG(idade) AS media_idade FROM alunos;
-- Qual a menor e maior idade?
SELECT MIN(idade) AS idade_minima, MAX(idade) AS idade_maxima FROM alunos;
Aplicação: A coordenação pode usar esses dados para definir turmas, planejar atividades por faixa etária ou elaborar relatórios escolares.
vendas-- Quantas vendas foram feitas este mês?
SELECT COUNT(*) AS total_vendas FROM vendas
WHERE data >= '2025-07-01';
-- Qual foi o valor total arrecadado?
SELECT SUM(valor) AS total_arrecadado FROM vendas;
-- Qual foi o valor médio de cada venda?
SELECT AVG(valor) AS media_venda FROM vendas;
Aplicação: Ideal para analisar o desempenho financeiro de uma loja ou cantina escolar, ajudando na tomada de decisão sobre estoques, promoções e metas.
postagens-- Quantas curtidas foram dadas no total?
SELECT SUM(curtidas) AS total_curtidas FROM postagens;
-- Qual foi o post com mais curtidas?
SELECT MAX(curtidas) AS maior_curtida FROM postagens;
Aplicação: Útil para influenciadores, criadores de conteúdo ou administradores de páginas que desejam entender o engajamento do público.
As funções agregadas podem ser combinadas com WHERE para filtrar os dados e com
GROUP BY para separar os resultados por categorias, como veremos nos próximos tópicos.
A seguir, você encontrará exercícios que simulam situações reais usando funções agregadas. Eles ajudarão a fixar o conteúdo e a praticar consultas SQL voltadas para análise de dados.
alunosAtributos: id, nome, idade, cidade, curso
comprasAtributos: id, aluno_id, valor_compra, data
notasAtributos: id, aluno_id, disciplina, nota
Experimente combinar as funções com WHERE para filtrar por curso, cidade ou período.
Esses exercícios são ótimos para fixar o uso de COUNT(), SUM(),
AVG(), MIN() e MAX().
Dica: você pode usar AS para renomear o resultado:
SELECT COUNT(*) AS total_alunos FROM alunos;
Imagine que você foi contratado para ajudar na geração de relatórios da secretaria da escola. Usando os dados disponíveis no banco de dados, você deverá responder às seguintes perguntas usando funções agregadas.
Tabelas envolvidas: alunos, notas, compras
Para isso, você pode utilizar comandos SQL com funções como COUNT(), AVG(),
SUM(), MIN(), MAX() e, se necessário, aplique WHERE
para filtrar os dados e GROUP BY para agrupá-los por categorias.
GROUP BY
O GROUP BY é usado quando queremos aplicar uma função agregada separadamente para cada grupo de
um determinado campo. Por exemplo, calcular a quantidade de alunos por curso, ou a
média de notas por disciplina.
Sem o GROUP BY, você só consegue um resultado geral. Com ele, você agrupa os dados em
categorias.
Exemplo simples:
-- Número de alunos por curso
SELECT curso, COUNT(*) AS total_alunos
FROM alunos
GROUP BY curso;
Neste exemplo, o SQL irá contar quantos alunos existem em cada curso, ou seja, ele vai
agrupar os registros por curso antes de aplicar o COUNT(*).
Mais exemplos com GROUP BY:
-- Média de nota por disciplina
SELECT disciplina, AVG(nota) AS media_nota
FROM notas
GROUP BY disciplina;
-- Total gasto por aluno
SELECT aluno_id, SUM(valor_compra) AS total_gasto
FROM compras
GROUP BY aluno_id;
Isso permite gerar relatórios detalhados como: "qual disciplina tem maior média", "qual aluno gastou mais", ou "quantos alunos há por cidade".
Importante: todo campo que aparece fora da função agregada deve obrigatoriamente estar no
GROUP BY.
Desafio: tente resolver as perguntas propostas aplicando corretamente GROUP BY
quando for necessário!
📊 Dica: pense como um analista de dados! Os relatórios ajudam a tomar decisões na gestão escolar.
As funções agregadas não são apenas uma ferramenta acadêmica — elas são amplamente utilizadas em sistemas reais de diversos setores. Vamos entender como elas impactam o dia a dia de empresas e instituições.
MAX e MIN.AVG.WHERE para focar nos dados relevantes.GROUP BY para gerar relatórios agrupados por categorias (ex: curso, disciplina,
mês).AS para facilitar a leitura dos relatórios.O uso inteligente das funções agregadas transforma qualquer sistema de banco de dados em uma poderosa ferramenta de análise e tomada de decisão. Com elas, é possível gerar indicadores, gráficos e relatórios gerenciais com rapidez e precisão.
Dica: Dominar essas funções é essencial para quem quer seguir carreira em análise de dados, BI (Business Intelligence), desenvolvimento de sistemas ou gestão de informações.