Digital Marketing Academy · Aula

SELECT, WHERE, GROUP BY

Agregue dados de campanhas

Aula 2 de 413 etapas

SELECT, WHERE, GROUP BY é uma aula grátis de Digital Marketing Academy no CoddyKit. Esta é a aula 2 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 Digital Marketing Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Digital Marketing Academy inclui 4 aulas no total.

Os três verbos

Quase toda métrica de marketing é construída com três cláusulas: SELECT escolhe colunas, WHERE filtra linhas e GROUP BY transforma linhas em segmentos.

Domine esse trio e você poderá responder sozinho à maioria das perguntas de análise do dia a dia.

SELECT channel, SUM(revenue) AS revenue
FROM orders
GROUP BY channel;

SELECT: escolhendo colunas

SELECT lista o que você quer obter. Você pode renomear colunas com AS para tornar o resultado legível e calcular novos valores diretamente na consulta.

Mantenha os conjuntos de resultados enxutos: obtenha apenas as colunas de que realmente precisa, especialmente em tabelas grandes.

SELECT campaign_id AS campaign,
       spend,
       spend * 1.2 AS spend_with_fees
FROM campaigns;

WHERE: filtrando linhas

WHERE mantém apenas as linhas que correspondem a uma condição. Combine condições com AND e OR para chegar exatamente a um segmento.

Os filtros de data são a base do trabalho de marketing e definem o período do relatório com precisão.

SELECT *
FROM sessions
WHERE channel = 'email'
  AND session_date >= DATE '2026-01-01'
  AND device = 'mobile';

Filtrando com IN e BETWEEN

IN corresponde a qualquer valor de uma lista, sendo perfeito para várias campanhas de uma só vez. BETWEEN abrange um intervalo, ideal para períodos de datas.

Esses recursos mantêm filtros complexos curtos e legíveis, em vez de longas sequências de OR.

SELECT order_id, revenue
FROM orders
WHERE channel IN ('paid_search', 'paid_social')
  AND order_date BETWEEN DATE '2026-03-01' AND DATE '2026-03-31';

GROUP BY: segmentando

GROUP BY reúne em uma única linha as linhas que compartilham um valor, criando uma linha por grupo. Combine-o com agregações como SUM, COUNT e AVG para obter métricas por segmento.

É assim que você transforma eventos brutos em uma tabela de desempenho canal a canal.

SELECT channel,
       COUNT(*) AS sessions,
       SUM(revenue) AS revenue
FROM sessions
GROUP BY channel;

Funções de agregação

SUM totaliza a receita, COUNT contabiliza eventos, AVG calcula a média e COUNT(DISTINCT ...) conta usuários únicos.

As contagens distintas são importantes em marketing: o total de sessões e o número de visitantes únicos são muito diferentes.

SELECT campaign_id,
       COUNT(*) AS clicks,
       COUNT(DISTINCT user_id) AS reach,
       AVG(revenue) AS avg_order
FROM orders
GROUP BY campaign_id;

Agrupamento por várias colunas

Agrupe por mais de uma coluna para criar uma matriz, como canal por dispositivo. Cada combinação única se torna sua própria linha.

Isso permite uma segmentação mais profunda sem exportar nada para uma planilha.

SELECT channel, device,
       COUNT(*) AS sessions
FROM sessions
GROUP BY channel, device
ORDER BY channel, sessions DESC;

HAVING: filtrando grupos

WHERE filtra as linhas antes do agrupamento; HAVING filtra os grupos depois da agregação. Use HAVING para manter apenas os segmentos acima de um limite.

Por exemplo, mostre apenas as campanhas que geraram mais de 100 pedidos.

SELECT campaign_id, COUNT(*) AS orders
FROM orders
GROUP BY campaign_id
HAVING COUNT(*) > 100
ORDER BY orders DESC;

Ordenação e limitação

ORDER BY ordena os resultados para que as linhas mais importantes apareçam primeiro. LIMIT limita quantos resultados são exibidos, sendo ideal para relatórios dos N primeiros resultados.

Juntos, eles respondem instantaneamente à pergunta: "quais são minhas 5 principais campanhas por receita?"

SELECT campaign_id, SUM(revenue) AS revenue
FROM orders
GROUP BY campaign_id
ORDER BY revenue DESC
LIMIT 5;

Agregação condicional

FILTER (ou CASE dentro de uma agregação) permite que uma única consulta calcule várias métricas condicionais de uma vez, como a receita de clientes novos e recorrentes.

Isso evita executar várias consultas e mantém os segmentos perfeitamente alinhados.

SELECT channel,
       SUM(revenue) FILTER (WHERE is_new_customer) AS new_rev,
       SUM(revenue) FILTER (WHERE NOT is_new_customer) AS repeat_rev
FROM orders
GROUP BY channel;

Reunindo tudo

Uma consulta completa combina todas as cláusulas: filtra as linhas com WHERE, agrupa, filtra os grupos com HAVING e depois ordena e limita os resultados.

Leia-a de cima para baixo, e ela contará uma história analítica completa sobre seus canais.

SELECT channel, SUM(revenue) AS revenue
FROM orders
WHERE order_date >= CURRENT_DATE - INTERVAL '30 days'
GROUP BY channel
HAVING SUM(revenue) > 1000
ORDER BY revenue DESC;

Verificação rápida

Você quer apenas os grupos de campanhas com mais de 50 pedidos. Qual cláusula filtra os grupos agregados?

Recapitulação

SELECT escolhe as colunas, WHERE filtra as linhas, GROUP BY cria segmentos, HAVING filtra os grupos, e ORDER BY com LIMIT define o formato da saída.

Com a agregação condicional, você calcula várias métricas em uma única passagem. A seguir: combinando dados de várias tabelas com JOIN.

Grátis para começar

Aprenda Digital Marketing Academy com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
63
Aulas
239

Perguntas Frequentes

A aula “SELECT, WHERE, GROUP BY” é grátis?

Sim — o texto completo de “SELECT, WHERE, GROUP BY” é 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 Digital Marketing Academy, atualize para CoddyKit PRO. O curso de Digital Marketing Academy inclui 4 aulas no total.

O que vou aprender em “SELECT, WHERE, GROUP BY”?

Agregue dados de campanhas Você pratica Digital Marketing 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 Digital Marketing Academy?

Nenhuma experiência prévia é necessária. Digital Marketing 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 2 de 4.

Quanto tempo leva a aula “SELECT, WHERE, GROUP BY”?

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 Digital Marketing Academy?

Sim. Cada aula de Digital Marketing 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. Por que profissionais de marketing aprendem SQL
  2. SELECT, WHERE, GROUP BY
  3. Unindo tabelas de marketing
  4. Consultas de coortes e funis
← Voltar para Digital Marketing Academy