A função SUM retorna a soma dos valores de entrada da coluna ou expressão. A função SUM funciona com valores numéricos e ignora valores NULL.
Sintaxe
SUM ( [ DISTINCT | ALL ] expression )
Argumentos
- expressão
-
A coluna ou expressão de destino na qual a função opera. A expressão é um destes tipos de dados:
SMALLINT
INTEGER
BIGINT
NUMERIC
DECIMAL
REAL
DOUBLE PRECISION
SUPER
- DISTINCT | ALL
-
Com o argumento DISTINCT, a função elimina todos os valores duplicados da expressão especificada antes de calcular a soma. Com o argumento ALL, a função retém todos os valores duplicados da expressão para calcular a soma. ALL é o padrão.
Tipos de dados
Os tipos de argumento compatíveis com a função SUM são SMALLINT, INTEGER, BIGINT, NUMERIC, DECIMAL, REAL, DOUBLE PRECISION e SUPER.
Os tipos de retorno compatíveis com a função SUM são
-
BIGINT para argumentos BIGINT, SMALLINT e INTEGER
-
NUMERIC para argumentos NUMERIC
-
DOUBLE PRECISION para argumentos de ponto flutuante
Retorna o mesmo tipo de dados da expressão para qualquer outro tipo de argumento.
A precisão padrão para o resultado de uma função SUM com um argumento NUMERIC ou DECIMAL é 38. A escala do resultado é a mesma que a escala do argumento. Por exemplo, uma SUM de uma coluna DEC(5,2) retorna um tipo de dado DEC(38,2).
Exemplos
Encontre a soma de todas as comissões pagas da tabela SALES:
select sum(commission) from sales;
sum
-------------
16614814.65
(1 row)
Encontre o número de assentos em todos os locais de evento no estado da Flórida:
select sum(venueseats) from venue
where venuestate = 'FL';
sum
--------
250411
(1 row)
Encontre o número de assentos vendidos em maio:
select sum(qtysold) from sales, date
where sales.dateid = date.dateid and date.month = 'MAY';
sum
-------
32291
(1 row)