0Pricing
SQL Academy · Aula

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 countries

SUM

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;   -- alphabetic

Agregaçõ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;   -- NULL

Combinando 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

  1. COUNT, SUM, AVG, MIN, MAX
  2. GROUP BY com uma ou várias colunas
  3. HAVING em comparação com WHERE
  4. Armadilhas comuns: valores NULL em agregações
← Voltar para SQL Academy