Pular para o conteúdo principal

Função SQL SUM() explicada

Descubra o poder da função SQL SUM() para agregação de dados. Aprenda a implementar somas móveis, somas cumulativas e somar várias colunas com eficiência.
Atualizado 17 de set. de 2026  · 8 min lido

Explorar com IA

ChatGPTClaudePerplexity

A função SQL SUM() é uma função de agregação muito útil para calcular totais de colunas numéricas. A SUM() é importante na análise de dados porque resume métricas essenciais de colunas numéricas específicas. Por ter aplicações diretas, a SUM() ajuda analistas de dados a extrair insights relevantes de grandes volumes de dados. Além disso, essa função versátil é compatível com diferentes bancos de dados, incluindo SQL Server, PostgreSQL, MySQL e Oracle.

Se você está começando ou já tem experiência e quer levar suas habilidades analíticas para o próximo nível, recomendo muito os cursos Introduction to SQL e Intermediate SQL da DataCamp para aprimorar sua análise de dados. O SQL Basics Cheat Sheet também é uma ótima referência para acompanhar sua jornada.

Como usar a função SUM() no SQL

A função SUM() no SQL é usada para agregar os totais de uma coluna específica em um conjunto de dados. Considere a tabela orders com a seguinte estrutura.

Tabela de exemplo para agregar totais de coluna usando a função SUM().

Tabela de exemplo para agregar totais de coluna usando a função SUM(). Imagem do autor.

A consulta abaixo retorna o total de quantidades da coluna quantity, com o alias total_quantity, e a receita calculada pela soma do produto de quantity e price, com o alias total_revenue.

Perceba que, no caso de total_revenue, a função SUM() é usada com uma expressão para fazer um cálculo adicional na coluna antes de obter o total. Note também que a função SUM() ignora valores NULL ao calcular os totais.

-- Select the total quantity and the total revenue-- Calculate the total quantity of all orders and alias 'total_quantity'.-- Calculate the total revenue and assigns it an alias 'total_revenue'.SELECT     SUM(quantity) AS total_quantity,    SUM(quantity * price) AS total_revenueFROM     orders;

Tabela de saída de exemplo da função SUM() usando alias e expressão. Imagem do autor.

Casos de uso da função SUM() no SQL

A função SUM() no SQL também pode ser usada para cálculos avançados. Vamos ver alguns exemplos.

Calcular uma soma cumulativa no SQL

Soma cumulativa é o total acumulado de uma coluna numérica. Calcular somas cumulativas é importante para acompanhar os totais ao longo de períodos para métricas como receita ou vendas. A consulta abaixo mostra como usar a função SUM() para calcular os totais acumulados da coluna quantity.

-- Calculate cumulative sums of the 'quantity' column for each order_dateSELECT     order_date,     quantity,    -- Calculate the cumulative sum of 'quantity' ordered by 'order_date'    SUM(quantity) OVER (ORDER BY order_date) AS cumulative_quantityFROM     orders;

Exemplo de saída de tabela usando a função SQL SUM() para calcular somas cumulativas.

Exemplo de saída de tabela usando a função SQL SUM() para calcular somas cumulativas. Imagem do autor.

Recomendo o curso Data Manipulation in SQL da DataCamp, que detalha o uso de funções de janela em agregações para técnicas como totais acumulados. O SQL Window Functions Cheat Sheet também é um guia prático para consultar rapidamente as diferentes window functions e suas aplicações.

Somar várias colunas no SQL

A função SUM() também pode ser usada para calcular os totais de múltiplas colunas. Essa abordagem agrega dados de várias colunas em um único resultado. Considere a nova tabela orders abaixo, com as colunas opening_quantity e received_quantity.

Tabela de exemplo para somar várias colunas usando a função SQL SUM().

Tabela de exemplo para somar várias colunas usando a função SQL SUM(). Imagem do autor.

O exemplo abaixo mostra como usar a função SUM() para calcular o total combinado das colunas opening_quantity e received_quantity. Aqui, o operador + é usado para realizar a soma aritmética entre dois valores numéricos.

-- Calculate the total quantity of opening_quantity and received_quantity columns-- Sum the total values in one columnSELECT     SUM(opening_quantity + received_quantity) AS total_quantityFROM     orders;

Exemplo de saída de tabela usando a função SQL SUM() para somar várias colunas.Exemplo de saída de tabela usando a função SQL SUM() para somar várias colunas. Imagem do autor.

 

Calcular uma soma móvel (rolling sum) no SQL

A soma móvel permite calcular totais com base em um número definido de linhas anteriores. A função SUM() no SQL calcula a soma móvel para métricas importantes, como vendas totais em 7 dias. A consulta abaixo mostra um exemplo de uso da SUM() para calcular a soma móvel de quantity nas últimas 3 linhas ordenadas por order_date.

-- Calculate rolling sums of the 'quantity' column for the past 3 orders for each order_dateSELECT     order_date,     quantity,    -- Calculate the rolling sum of 'quantity' over the last 3 rows ordered by 'order_date'    SUM(quantity) OVER (        ORDER BY order_date         ROWS BETWEEN 2 PRECEDING AND CURRENT ROW    ) AS rolling_quantityFROM     orders;

Exemplo de saída de tabela calculando soma móvel no SQL usando a função SUM().

Exemplo de saída de tabela calculando soma móvel no SQL usando a função SUM(). Imagem do autor.

Somar valores DISTINCT no SQL

Você pode somar os valores de uma coluna usando a palavra-chave DISTINCT para calcular o total apenas dos valores únicos. O exemplo abaixo mostra DISTINCT sendo usado para somar os valores únicos nas colunas quantity e price.

-- Sum the distinct values of the quantity and price columnsSELECT     SUM(DISTINCT quantity) AS total_distinct_quantity,	SUM(DISTINCT price) AS total_distinct_priceFROM     orders;

SUM e outras funções de agregação do SQL

Como vimos, a função SUM() no SQL é poderosa e mais versátil do que parece. Ainda assim, ela é apenas uma entre várias funções de agregação no SQL. Abaixo está uma tabela que resume as funções de agregação mais comuns, suas descrições e exemplos:

FunçãoDescriçãoExemplo
SUM()Calcula o total de uma coluna numérica.Total de quantidade e receita.
AVG()Calcula a média de uma coluna numérica.Média de preço dos produtos.
MIN()Retorna o menor valor de uma coluna.Menor quantidade de pedidos.
MAX()Retorna o maior valor de uma coluna.Maior preço dos produtos.
COUNT()Retorna a quantidade de linhas que atendem a uma condição.Total de pedidos.

Conclusão

Aprender a função SUM() no SQL é essencial para entender suas diferentes aplicações na análise de dados. A SUM() é suportada nos principais bancos de dados e tem implementação semelhante com diferentes cláusulas e funções de janela. Recomendo praticar as aplicações da SUM() com diversos conjuntos de dados para afiar suas habilidades em SQL.

Se você quer avançar suas habilidades em SQL para analytics, confira a trilha de habilidades SQL Fundamentals da DataCamp para desenvolver competências sob demanda. Da mesma forma, vale explorar nossa trilha de carreira Associate Data Analyst in SQL para aprender e dominar as habilidades necessárias de SQL e impulsionar sua carreira. Por fim, recomendo muito obter a SQL Associate Certification da DataCamp para comprovar seu domínio em SQL e se destacar entre outros analistas de dados.


Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Eu crio artigos que simplificam a ciência e a análise de dados, tornando-as fáceis de entender e acessíveis.

Perguntas frequentes

O que é a função SQL SUM()?

A função SUM() calcula os valores totais de uma coluna numérica em uma tabela/conjunto de dados.

Qual a diferença entre as funções SUM() e COUNT()?

A função SUM() calcula os totais em uma coluna. A função COUNT() retorna o número de linhas com base em uma condição.

Como a função SUM() lida com valores NULL?

Ao calcular os totais, a função SUM() ignora os valores NULL de uma coluna.

Posso usar a palavra-chave DISTINCT com a função SUM()?

A palavra-chave DISTINCT pode ser usada com a função SUM() para calcular os totais apenas dos valores únicos de uma coluna.

Como usar a função SUM() com funções de janela?

A função SUM() pode ser usada como função de janela com a cláusula OVER para calcular somas cumulativas e outras operações em partições dos dados.

Quais outras funções no SQL são semelhantes a SUM()?

Outras funções de agregação semelhantes no SQL incluem AVG() para médias, COUNT() para contagem de linhas, MIN() para o menor valor, MAX() para o maior, COUNT(DISTINCT) para contagem de valores únicos, GROUP_CONCAT() para concatenação de strings e STDDEV() ou VARIANCE() para cálculos estatísticos. Essas funções ajudam a resumir e analisar dados com eficiência.

Tópicos
SQL
Data Analysis

Aprenda SQL com a DataCamp

Curso

Introdução ao SQL

2 h
1.6M
Aprenda a criar e consultar bancos de dados relacionais usando SQL em apenas duas horas.
Ver detalhesRight Arrow
Iniciar Curso
Ver maisRight Arrow
Relacionado

Tutorial

FUNÇÃO SQL COUNT()

COUNT() permite que você conte o número de linhas que correspondem a determinadas condições. Saiba como usá-lo neste tutorial.
Travis Tang 's photo

Travis Tang

3 min

Tutorial

Como usar a função COALESCE() no SQL (com exemplos)

Saiba como usar a função SQL COALESCE() para lidar com valores nulos, combinar colunas e limpar seus dados com exemplos e dicas do mundo real.
Travis Tang 's photo

Travis Tang

5 min

Tutorial

Como usar as funções SUMX do Power BI

Explore a função SUMX no Power BI, sua sintaxe, como ela funciona e as práticas recomendadas que você deve ter em mente.
Joleen Bothma's photo

Joleen Bothma

8 min

Tutorial

FUNÇÃO SQL FORMAT()

FORMAT() é uma das funções mais comumente usadas no SQL. Aprenda suas principais aplicações neste tutorial.
Travis Tang 's photo

Travis Tang

3 min

Tutorial

Como usar GROUP BY e HAVING no SQL

Um guia intuitivo para você descobrir os dois comandos SQL mais populares para agregar linhas do seu conjunto de dados
Eugenia Anello's photo

Eugenia Anello

6 min

Tutorial

SELEÇÃO de várias colunas no SQL

Saiba como selecionar facilmente várias colunas de uma tabela de banco de dados em SQL ou selecionar todas as colunas de uma tabela em uma consulta simples.
DataCamp Team's photo

DataCamp Team

3 min

Ver MaisVer Mais