SUM

SUM é uma expressão de agregação que calcula a soma da expressão para um conjunto de linhas (consulte Agregações (funções de conjunto)). SUM é permitida apenas nas expressões que resultam em tipos de dado numéricos.

Sintaxe

SUM ( [ DISTINCT | ALL ] Expressão )

Os qualificadores DISTINCT e ALL eliminam ou mantêm as linhas duplicadas. É assumido ALL se não for especificado nem ALL nem DISTINCT. Por exemplo, se a coluna contiver os valores 1, 1, 1, 1 e 2, SUM(coluna) retorna um valor maior que SUM(DISTINCT coluna).

Somente é permitida uma expressão de agregação DISTINCT por ExpressãoSeleção. Por exemplo, a seguinte consulta não é permitida:
SELECT AVG (DISTINCT TEMPO_VÔO), SUM (DISTINCT MILHAS)
FROM VÔOS

A expressão pode conter várias referências a colunas ou expressões, mas não pode conter outra agregação ou subconsulta. Deve ter como resultado um tipo de dado numérico nativo. Se uma expressão for avaliada como NULL, a agregação saltará este valor.

O tipo de dado do resultado é idêntico ao da expressão em que opera (pode estourar).

-- descobrir a quantidade de assentos econômicos disponíveis:
SELECT SUM (ASSENTOS_ECONÔMICOS) FROM LINHAS_AÉREAS;

-- utilizar SUM fazendo referência a várias colunas
-- (descobrir o número total de todos os assentos ocupados):
SELECT SUM (ASSENTOS_ECONÔMICOS_OCUPADOS +
            ASSENTOS_EXECUTIVOS_OCUPADOS +
            ASSENTOS_PRIMEIRA_CLASSE_OCUPADOS) AS ASSENTOS_OCUPADOS
FROM VÔOS_DISPONIBILIDADE;