Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Agregação e Agrupamento em SQL | Trabalhando com Dados
Fundamentos do Databricks: Um Guia para Iniciantes

Agregação e Agrupamento em SQL

Deslize para mostrar o menu

Note
Definição

A agregação em SQL utiliza a cláusula GROUP BY para organizar dados brutos em linhas de resumo. Com funções como SUM(), AVG() e COUNT(), é possível transformar milhões de linhas em métricas de negócios acionáveis diretamente em uma célula SQL.

Para muitos, SQL é a linguagem mais natural para resumir dados. A sintaxe é altamente legível e segue um fluxo lógico: escolha suas categorias, defina os cálculos e determine os grupos. Neste capítulo, será utilizada a visualização temporária criada anteriormente para realizar as mesmas agregações feitas em Python, mas com a simplicidade do SQL.

A cláusula GROUP BY

Em SQL, toda coluna que não está sendo "resumida matematicamente" deve ser incluída na instrução GROUP BY ao final da consulta. Isso informa ao mecanismo SQL exatamente como particionar os dados.

SELECT cut, COUNT(*) 
FROM diamond_view
GROUP BY cut

Utilizando Funções de Agregação Integradas

SQL oferece várias funções padrão para realizar cálculos em colunas numéricas:

  • SUM(): soma todos os valores da coluna;
  • AVG(): calcula a média/valor médio;
  • MIN() / MAX(): encontra o menor ou maior valor;
  • COUNT(): retorna o número de linhas.
%sql
SELECT 
  cut, 
  SUM(x), 
  AVG(y)
FROM diamond_view
GROUP BY cut

Uso de Alias para Relatórios Profissionais

Por padrão, o SQL pode rotular suas colunas de resultado como sum(Total_Profit). Para tornar sua saída adequada para um painel de negócios, utilize a palavra-chave AS para renomear essas colunas com descrições mais claras.

%sql
SELECT 
  cut, 
  SUM(x) AS Total_Length,
  MAX(y) AS Highest_Diamond_Value
FROM diamond_view
GROUP BY cut

Filtrando Dados Agregados: A Cláusula HAVING

Um erro comum é tentar filtrar um resultado agregado usando WHERE. No SQL, WHERE filtra linhas individuais antes de serem agrupadas. Se você deseja filtrar os resultados após a soma (por exemplo, exibir apenas regiões com mais de $1.000.000 em lucro), é necessário utilizar a cláusula HAVING.

%sql
SELECT cut, SUM(x) AS Total_Length
FROM diamond_view
GROUP BY cut
HAVING Total_Length > 4000

Ordenando o Resumo

Para destacar seus insights, utilize sempre o ORDER BY. Isso permite classificar seus resultados, como exibir as regiões mais lucrativas no topo da tabela.

%sql
SELECT cut, SUM(x) AS Total_Length
FROM diamond_view
GROUP BY cut
ORDER BY Total_Length DESC
question mark

Qual cláusula SQL é necessária para criar linhas de resumo ao usar funções de agregação como SUM() ou AVG()?

Selecione a resposta correta

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 4. Capítulo 7

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 4. Capítulo 7
some-alt