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;