COUNT, SUM, AVG, MIN, MAX
Use as cinco principais funções de agregação, entenda COUNT(*) em comparação com COUNT(coluna) e saiba como cada uma trata valores NULL.
COUNT, SUM, AVG, MIN, MAX é uma aula grátis de SQL Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de SQL Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de SQL Academy inclui 4 aulas no total.
O que as agregações fazem
Uma função de agregação reduz muitas linhas a um único valor. Exemplos: receita total, avaliação média e data máxima.
COUNT
Conta linhas. Há dois tipos:
SELECT COUNT(*) FROM users; -- counts ALL rows
SELECT COUNT(email) FROM users; -- counts rows where email IS NOT NULL
SELECT COUNT(DISTINCT country) FROM users; -- distinct non-NULL countriesSUM
Soma uma coluna numérica. NULLs são ignorados:
SELECT SUM(total) FROM orders;
SELECT SUM(total) FROM orders WHERE user_id = 42;AVG
Calcula a média aritmética. NULLs são ignorados — portanto, AVG(x) equivale a SUM(x)/COUNT(x), e não a SUM(x)/COUNT(*):
SELECT AVG(rating) FROM reviews;MIN e MAX
O menor e o maior valor não NULL. Funciona com números, datas, strings — qualquer coisa que possa ser comparada:
SELECT MIN(created_at), MAX(created_at) FROM orders;
SELECT MIN(name), MAX(name) FROM users; -- alphabeticAgregações e NULL
Todas as agregações, exceto COUNT(*), ignoram entradas NULL. AVG, SUM, MIN e MAX retornam NULL quando não existem entradas não NULL.
-- Suppose the table is empty or all rating is NULL:
SELECT AVG(rating) FROM reviews; -- NULLCombinando agregações
Várias agregações em uma consulta — todas veem o mesmo grupo:
SELECT COUNT(*) AS orders,
SUM(total) AS revenue,
AVG(total) AS avg_order,
MIN(total) AS smallest,
MAX(total) AS biggest
FROM orders
WHERE created_at >= NOW() - INTERVAL '30 days';DISTINCT dentro de agregações
Aplique DISTINCT antes de agregar:
SELECT COUNT(DISTINCT user_id) AS unique_buyers,
SUM(DISTINCT total) AS sum_of_distinct_totals
FROM orders;Agregações sem GROUP BY
Quando você usa uma agregação sem GROUP BY, todo o conjunto de resultados é um único grupo grande — você obtém uma linha.
Filtragem antes da agregação
WHERE reduz as linhas de entrada antes que elas sejam agregadas:
-- Average of only large orders:
SELECT AVG(total) FROM orders WHERE total > 100;Cláusula FILTER (PostgreSQL)
Adicione filtros por agregação com a cláusula FILTER:
SELECT
COUNT(*) AS total_orders,
COUNT(*) FILTER (WHERE status = 'paid') AS paid_orders,
SUM(total) FILTER (WHERE status = 'paid') AS paid_revenue
FROM orders;Recapitulação
As cinco agregações principais: COUNT, SUM, AVG, MIN, MAX.
- COUNT(*) conta linhas; COUNT(col) ignora NULL
- As outras agregações ignoram entradas NULL
- Combine com WHERE / FILTER para fazer agregações condicionais
Verificação rápida
Suponha que rating seja NULL em 100 das 500 linhas. Por qual valor AVG(rating) divide?
Perguntas Frequentes
A aula “COUNT, SUM, AVG, MIN, MAX” é grátis?
Sim — o texto completo de “COUNT, SUM, AVG, MIN, MAX” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de SQL Academy, atualize para CoddyKit PRO. O curso de SQL Academy inclui 4 aulas no total.
O que vou aprender em “COUNT, SUM, AVG, MIN, MAX”?
Use as cinco principais funções de agregação, entenda COUNT(*) em comparação com COUNT(coluna) e saiba como cada uma trata valores NULL. Você pratica SQL Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar SQL Academy?
Nenhuma experiência prévia é necessária. SQL Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “COUNT, SUM, AVG, MIN, MAX”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de SQL Academy?
Sim. Cada aula de SQL Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- COUNT, SUM, AVG, MIN, MAX
- GROUP BY com uma ou várias colunas
- HAVING em comparação com WHERE
- Armadilhas comuns: valores NULL em agregações