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.
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).
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;