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;