PostgreSQL Prático/Funções Internas/Agrupamento
5.3 – Funções de Agrupamento (Agregação)
As funções de agrupamento são usadas para contar o número de registros de uma tabela.
avg(expressão)
count(*)
count(expressão)
max(expressão)
min(expressão)
stddev(expressão)
sum(expressão)
variance(expressão)
Onde expressão, pode ser "ALL expressão" ou “DISTINCT expressão”.
count(distinct expressão)
As funções de Agrupamento (agregação) não podem ser utilizadas na cláusula WHERE. Devem ser utilizadas entre o SELECT e o FROM. Num SELECT que usa uma função agregada, as demais colunas devem fazer parte da cláusula GROUP BY. Somente podem aparecer após o SELECT ou na cláusula HAVING. De uso proibido nas demais cláusulas.
Obs.: Ao contar os registros de uma tabela com a função COUNT(campo) e esse campo for nulo em alguns registros, estes registros não serão computados, por isso cuidado com os nulos também nas funções de agregação.
A cláusula HAVING normalmente vem precedida de uma cláusula GROUP BY e obrigatoriamente contém funções de agregação.
ALERTA: Retornam somente os registros onde o campo pesquisado seja diferente de NULL.
NaN - Not a Number (Não é um número)
UPDATE tabela SET campo1 = 'NaN';
SELECT MIN(campo) AS "Valor Mínimo" FROM tabela;
Caso tenha problema com esta consulta use:
SELECT campo FROM tabela ORDER BY campo ASC LIMIT 1; -- trará o menor
SELECT MAX(campo) AS "Valor Máximo" FROM tabela;
Caso tenha problema com esta consulta use:
SELECT campo FROM tabela ORDER BY campo DESC LIMIT 1; -- trará o maior