Curso
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(). 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. 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(). 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. 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(). 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ção | Descrição | Exemplo |
|---|---|---|
| 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.
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.


