Skip to content

SQL: Funções de Agregação e AgrupamentoAtividades e Estratégias de Ensino

As funções de agregação e agrupamento em SQL transformam dados brutos em informação útil, mas a sua abstração requer prática ativa. Ao manipular datasets reais em estações rotativas ou projetos colaborativos, os alunos interiorizam como as cláusulas GROUP BY e HAVING estruturam os resultados, reduzindo a distância entre teoria e aplicação prática no mundo das bases de dados.

11° AnoInovação Digital e Pensamento Computacional Avançado4 atividades25 min50 min

Objetivos de Aprendizagem

  1. 1Calcular o número de registos numa tabela e o valor total de uma coluna numérica utilizando as funções COUNT e SUM.
  2. 2Determinar o valor médio e os valores máximo e mínimo de uma coluna numérica numa tabela utilizando as funções AVG, MAX e MIN.
  3. 3Agrupar registos com base nos valores de uma ou mais colunas e aplicar funções de agregação a cada grupo utilizando a cláusula GROUP BY.
  4. 4Filtrar grupos de resultados com base numa condição aplicada a uma função de agregação utilizando a cláusula HAVING, distinguindo-a da cláusula WHERE.
  5. 5Analisar o impacto da cláusula GROUP BY na apresentação de dados resumidos em comparação com a apresentação de dados não agrupados.

Pretende um plano de aula completo com estes objetivos? Gerar uma Missão

45 min·Pequenos grupos

Rotação de Estações: Queries Agregadas

Prepare quatro estações com datasets temáticos: vendas (SUM/AVG), registos (COUNT/MAX), notas (MIN/AVG por turma), clientes (GROUP BY). Os grupos rotacionam a cada 10 minutos, escrevem e executam uma query por estação, registando métricas num quadro partilhado.

Preparação e detalhes

Analise como as funções de agregação podem transformar dados brutos em métricas significativas.

Sugestão de Facilitação: Na Rotação de Estações, prepare datasets distintos para cada estação e inclua intencionalmente valores NULL ou duplicados para testar a robustez das queries dos alunos.

Setup: Grupos em mesas com acesso a materiais de consulta

Materials: Coleção de fontes documentais, Ficha de trabalho do ciclo de investigação, Protocolo de formulação de perguntas, Modelo de apresentação de resultados

AnalisarAvaliarCriarAutogestãoAutoconsciência

Projeto em Pares: Análise de Vendas

Forneça uma base de dados de vendas reais. Os pares escrevem queries com GROUP BY para calcular totais por região e filtrar com HAVING grupos acima de um valor. Apresentam um gráfico dos resultados usando ferramentas como Google Sheets.

Preparação e detalhes

Explique a importância da cláusula GROUP BY na análise de dados agregados.

Sugestão de Facilitação: No Projeto em Pares de Análise de Vendas, forneça uma tabela com pelo menos 50 registos e peça aos alunos que justifiquem as suas escolhas de agrupamento em voz alta.

Setup: Grupos em mesas com acesso a materiais de consulta

Materials: Coleção de fontes documentais, Ficha de trabalho do ciclo de investigação, Protocolo de formulação de perguntas, Modelo de apresentação de resultados

AnalisarAvaliarCriarAutogestãoAutoconsciência
50 min·Turma inteira

Desafio Coletivo: Otimizar Consultas

Apresente uma query ineficiente com agregações. A turma divide-se em equipas para reescrever com GROUP BY otimizado, compara tempos de execução e discute diferenças entre WHERE e HAVING em conjunto.

Preparação e detalhes

Compare a utilização de HAVING e WHERE em consultas com agrupamento.

Sugestão de Facilitação: Para o Desafio Coletivo de Otimizar Consultas, use uma query inicial ineficiente e peça aos grupos que a refaçam em 10 minutos, comparando depois os planos de execução.

Setup: Grupos em mesas com acesso a materiais de consulta

Materials: Coleção de fontes documentais, Ficha de trabalho do ciclo de investigação, Protocolo de formulação de perguntas, Modelo de apresentação de resultados

AnalisarAvaliarCriarAutogestãoAutoconsciência
25 min·Individual

Exercício Individual: Dataset Personalizado

Cada aluno importa um dataset próprio (ex.: notas pessoais ou jogos) e cria três queries com funções agregadas e GROUP BY. Partilham uma no forum da turma para feedback.

Preparação e detalhes

Analise como as funções de agregação podem transformar dados brutos em métricas significativas.

Sugestão de Facilitação: No Exercício Individual com Dataset Personalizado, atribua a cada aluno uma tabela diferente, mas com a mesma estrutura, para fomentar a discussão de abordagens alternativas.

Setup: Grupos em mesas com acesso a materiais de consulta

Materials: Coleção de fontes documentais, Ficha de trabalho do ciclo de investigação, Protocolo de formulação de perguntas, Modelo de apresentação de resultados

AnalisarAvaliarCriarAutogestãoAutoconsciência

Ensinar Este Tópico

Ensine funções de agregação começando por exemplos simples, como contar alunos por turma, antes de introduzir cenários complexos. Evite explicar unicamente a sintaxe; em vez disso, peça aos alunos que prevejam os resultados de queries antes de as executar. A investigação mostra que esta abordagem reduz erros conceptuais, como confundir GROUP BY com filtros globais. Use analogias visuais, como dividir uma turma em grupos antes de calcular médias, para ancorar a abstração.

O Que Esperar

No final destas atividades, espera-se que os alunos consigam construir queries precisas com funções como COUNT, SUM, AVG, MAX e MIN, combinadas com GROUP BY e HAVING, para responder a questões concretas sobre dados. A autonomia na depuração de erros e a capacidade de explicar as diferenças entre WHERE e HAVING são indicadores claros de sucesso.

Estas atividades são um ponto de partida. A missão completa é a experiência.

  • Guião completo de facilitação com falas do professor
  • Materiais imprimíveis para o aluno, prontos para a aula
  • Estratégias de diferenciação para cada tipo de aluno
Gerar uma Missão

Atenção a estes erros comuns

Erro comumDurante a Rotação de Estações, ouça os alunos dizerem que 'o GROUP BY aplica funções a todos os dados'.

O que ensinar em alternativa

Peça-lhes que escrevam a query para somar vendas por categoria e executem-na com uma tabela que tenha 3 categorias distintas. Pergunte: 'Quantos grupos foram criados? Se removermos a cláusula GROUP BY, quantos resultados obtemos?'.

Erro comumDurante o Projeto em Pares de Análise de Vendas, observe discussões sobre 'usar HAVING ou WHERE para filtrar vendas acima de 1000€'.

O que ensinar em alternativa

Peça aos pares que escrevam a mesma query com WHERE e depois com HAVING, executem-nas e comparem os resultados. Pergunte: 'Porque é que a query com WHERE devolve menos linhas?'

Erro comumDurante o Exercício Individual com Dataset Personalizado, verifique se os alunos incluem NULLs nos cálculos de AVG.

O que ensinar em alternativa

Inclua uma coluna com 20% de valores NULL na tabela do aluno e peça-lhe que calcule a média antes e depois de substituir os NULLs por zeros. Pergunte: 'Qual é a diferença entre estes valores e porquê?'.

Ideias de Avaliação

Bilhete de Saída

Após a Rotação de Estações, peça aos alunos que escrevam uma query que conte o número de encomendas por cliente, usando SUM e GROUP BY numa tabela de vendas. Inclua: 'Explique como alteraria esta query para mostrar apenas clientes com mais de 5 encomendas, justificando a cláusula usada'.

Verificação Rápida

Durante o Projeto em Pares de Análise de Vendas, mostre o resultado de uma query que calcula a média de preços por produto e pergunte: 'Este valor representa a média de todos os produtos ou de cada grupo? O que acontece se adicionarmos ORDER BY preço DESC?'.

Questão para Discussão

Após o Desafio Coletivo de Otimizar Consultas, coloque a seguinte questão para discussão em grande grupo: 'Se uma query com GROUP BY demorar 30 segundos a executar, que estratégias podem reduzir este tempo? Debata o papel de índices, cláusulas WHERE e agregações parciais'.

Extensões e Apoio

  • Peça aos alunos que identifiquem 3 queries erradas num conjunto fornecido e corrijam-nas, explicando cada passo.
  • Para alunos com dificuldades, forneça um template de query com lacunas para preencher, focando-se primeiro em COUNT e SUM.
  • Explore queries com múltiplas funções de agregação numa única instrução, como calcular a média e o desvio padrão por grupo, discutindo limitações do SQL padrão.

Vocabulário-Chave

Função de AgregaçãoFunções SQL que realizam um cálculo num conjunto de valores e devolvem um único valor. Exemplos comuns incluem COUNT, SUM, AVG, MAX, MIN.
COUNTConta o número de linhas que correspondem a um critério especificado. Pode contar todas as linhas ou apenas as linhas com valores não nulos numa coluna específica.
GROUP BYCláusula SQL utilizada para agrupar linhas que têm os mesmos valores em uma ou mais colunas numa tabela, permitindo a aplicação de funções de agregação a cada grupo.
HAVINGCláusula SQL utilizada para filtrar grupos criados pela cláusula GROUP BY, com base numa condição que geralmente envolve uma função de agregação.

Preparado para lecionar SQL: Funções de Agregação e Agrupamento?

Gere uma missão completa com tudo o que precisa

Gerar uma Missão