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;