Pular para o conteúdo principal
Documentos
Sintaxe básicaFunções JSONAcionadoresGerenciamento de tabelas e esquemasFunções de cadeia de caracteresFunções matemáticasFunções de dataBancos de dadosÍndices

SUM do PostgreSQL

A função `SUM` no PostgreSQL calcula o total de uma coluna numérica. É uma ferramenta fundamental para agregar valores e obter insights dos dados.

Uso

A função `SUM` é empregada para encontrar o total de uma coluna numérica, geralmente usada com a cláusula `GROUP BY` para dados agregados. Ele é particularmente útil em cálculos financeiros e estatísticos.

SELECT SUM(column_name)
FROM table_name
[WHERE condition];

Nessa sintaxe, `SUM(nome_da_coluna)` calcula o total da coluna especificada a partir das linhas filtradas pela cláusula `WHERE`, se fornecida.

Compatibilidade de tipos de dados

A função `SUM` é compatível com tipos de dados numéricos, como `INT`, `FLOAT`, `NUMERIC` etc. A tentativa de somar uma coluna não numérica resultará em um erro.

Exemplos

1. Cálculo da soma básica

SELECT SUM(salary)
FROM employees;

Este exemplo calcula a soma total de todos os salários da tabela "Funcionários".

2. Soma com condição

SELECT SUM(salary)
FROM employees
WHERE department = 'Sales';

Aqui, a função `SUM` calcula o salário total dos funcionários do departamento de "Vendas" aplicando uma cláusula `WHERE`.

3. Usando SUM com GROUP BY

SELECT department, SUM(salary)
FROM employees
GROUP BY department;

Neste exemplo, a função `SUM` é usada com `GROUP BY` para calcular e retornar o salário total de cada departamento.

4. Manipulação de valores NULL com COALESCE

SELECT SUM(COALESCE(salary, 0))
FROM employees;

Este exemplo demonstra o uso do `COALESCE` para tratar os valores `NULL` como zero durante o cálculo da soma.

5. Como ordenar resultados após a agregação

SELECT department, SUM(salary)
FROM employees
GROUP BY department
ORDER BY SUM(salary) DESC;

Este exemplo mostra como ordenar os resultados com base na soma agregada em ordem decrescente.

Dicas e práticas recomendadas

  • Filtre os dados adequadamente: Use cláusulas `WHERE` para excluir dados irrelevantes e obter uma soma mais precisa.
  • Combine com GROUP BY: Ao analisar dados entre categorias, use `GROUP BY` para obter as somas de cada grupo.
  • Manipular valores NULL: Use `COALESCE` para lidar com valores `NULL` em colunas numéricas.
  • Garantir tipos de dados numéricos: Certifique-se de que a coluna que você está somando seja um tipo de dados numérico para evitar erros.
  • Consideração de desempenho: Para conjuntos de dados grandes, considere a indexação de colunas envolvidas nas cláusulas `WHERE` e `GROUP BY` para otimizar o desempenho da consulta.