Saltar para o conteúdo

PostgreSQL Prático/Funções Internas/Agrupamento

Origem: Wikilivros, livros abertos por um mundo aberto.

5.3 – Funções de Agrupamento (Agregação)

[editar | editar código-fonte]

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