6.14. Funções de agregação

As funções de agregação calculam um único valor de resultado para um conjunto de valores de entrada. A Tabela 6-33 mostra as funções de agregação nativas. As considerações especiais relativas à sintaxe das funções de agregação são explicadas na Seção 1.2.5. Consulte o Tutorial do PostgreSQL para obter informações introdutórias adicionais.

Tabela 6-33. Funções de agregação

FunçãoTipo do argumentoTipo retornadoDescrição 
avg(expressão) smallint, integer, bigint, real, double precision, numeric ou interval. numeric para qualquer argumento de tipo inteiro, double precision para argumento de tipo ponto flutuante, caso contrário o mesmo tipo de dado do argumento a média (média aritmética) de todos os valores de entrada 
count(*) bigintnúmero de valores de entrada 
count(expressão)anybigint número de valores de entrada para os quais o valor da expressão não é nulo  
max(expressão)qualquer tipo de dado numérico, cadeia de caracteres, data ou horao mesmo tipo de dado do argumento valor máximo da expressão entre todos os valores de entrada  
min(expressão)qualquer tipo de dado numérico, cadeia de caracteres, data ou horao mesmo tipo de dado do argumento valor mínimo da expressão entre todos os valores de entrada  
stddev(expressão) smallint, integer, bigint, real, double precision ou numeric. double precision para argumentos de ponto flutuante, caso contrário numeric. desvio padrão da amostra dos valores de entrada 
sum(expressão) smallint, integer, bigint, real, double precision, numeric ou interval bigint para argumentos smallint ou integer, numeric para argumentos bigint, double precision para argumentos de ponto flutuante, caso contrário o mesmo tipo de dado do argumento somatório da expressão para todos os valores de entrada 
variance(expressão) smallint, integer, bigint, real, double precision ou numeric. double precision para argumentos de ponto flutuante, caso contrário numeric. variância dos valores de entrada da amostra (quadrado do desvio padrão da amostra) 

Deve ser observado que, com exceção do count, estas funções retornam o valor nulo quando nenhuma linha for selecionada. Em particular, sum de nenhuma linha retorna nulo, e não zero como poderia ser esperado. A função coalesce pode ser utilizada para substituir nulo por zero quando for necessário.