Aulas do bloco

← Aulas

SQL e DadosTrilha · etapa 88 min

Agregação com GROUP BY: SUM, COUNT, AVG, MIN e MAX

Vídeos desta etapa, na ordem do portal:

  1. Agregações com GROUP BY · 8 min
Use o número do vídeo e o horário indicado como referência nos arquivos locais.

Você já projeta colunas com SELECT, FROM, AS e ROUND, filtra linhas com WHERE, AND, OR, IN e ordena com ORDER BY, ASC e DESC. Sem agregação, cada linha continua solta e não dá para resumir por grupo. Esta aula introduz SUM, COUNT, AVG, MIN, MAX com GROUP BY e destrava contar tornados por ano e média mensal de temperatura.

O que foi falado

  1. Agregação resume linhas por grupo

    Vídeo 1 · 00:00:26

    Agregação resume várias linhas em um valor representativo por grupo. É o que acontece em relatório e dashboard quando você soma vendas por mês. Sem agrupar você vê linha por linha, com agregação você vê o total ou a média de cada grupo.

  2. SUM, COUNT, AVG, MIN e MAX

    Vídeo 1 · 00:01:06

    SUM soma, AVG calcula a média e MIN/MAX encontram os extremos dos valores não nulos de uma coluna. COUNT(*) conta linhas; COUNT(coluna) conta somente valores não nulos dessa coluna. As funções podem resumir todas as linhas da consulta ou cada grupo definido por GROUP BY.

    SQL
    SELECT SUM(coluna)
    FROM tabela
  3. Sintaxe SELECT com GROUP BY e regra da coluna

    Vídeo 1 · 00:01:47

    O padrão é SELECT coluna, FUNCAO(coluna) FROM tabela WHERE ... GROUP BY coluna. A coluna que aparece fora da função precisa estar também em GROUP BY. Se você exibir coluna sem agrupar por ela, a query não funciona como esperado.

    SQL
    SELECT coluna, COUNT(*)
    FROM tabela
    GROUP BY coluna
  4. WHERE filtra antes, GROUP BY agrupa depois

    Vídeo 1 · 00:02:12

    WHERE escolhe as linhas antes da agregação, e GROUP BY reúne as linhas restantes. A ordem escrita das cláusulas é SELECT ... FROM ... WHERE ... GROUP BY ..., mas isso não é a ordem lógica das operações: a origem e o filtro vêm antes do agrupamento e da projeção do resultado.

    SQL
    SELECT coluna, COUNT(*)
    FROM tabela
    WHERE coluna = 1
    GROUP BY coluna
  5. Contar tornados por ano com COUNT

    Vídeo 1 · 00:02:51

    O exemplo conta registros de tornado por ano. Filtra só linhas com Tornado = 1 e agrupa por ano com GROUP BY. O resultado mostra Year e a contagem daquele ano com COUNT.

    SQL
    SELECT Year, COUNT(*)
    FROM tabela
    WHERE Tornado = 1
    GROUP BY Year
  6. Média mensal de temperatura com AVG

    Vídeo 1 · 00:04:31

    O exemplo calcula temperatura média por mês. Filtra Year >= 2000 com WHERE e agrupa por mês com GROUP BY. A coluna calculada com AVG ganha apelido com AS para deixar o resultado mais legível.

    SQL
    SELECT mes, AVG(temperatura) AS media
    FROM tabela
    WHERE Year >= 2000
    GROUP BY mes

Conceitos da aula

  • Agregação
  • SUM
  • COUNT
  • AVG
  • MIN
  • MAX
  • GROUP BY
  • SELECT
  • WHERE
  • Alias (AS)

Reforce este assunto

9 exercíciosComeçar →