AVG é uma função de agregação que calcula a média de uma expressão sobre um conjunto de linhas (consulte Agregações (funções de conjunto)). AVG somente é permitida nas expressões que têm como resultado tipos de dado numéricos.
AVG ( [ DISTINCT | ALL ] Expressão )
O qualificador DISTINCT elimina as linhas duplicadas. O qualificador ALL mantém as linhas duplicadas. ALL é o valor padrão, se nem ALL nem DISTINCT for especificado. Por exemplo, se uma coluna contiver os valores 1.0, 1.0, 1.0, 1.0 e 2.0, AVG(coluna) retornará um valor menor que AVG(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 do SQL-92. Portanto, podem ser chamados métodos que têm como resultado tipos de dado SQL-92. Se uma expressão for avaliada como NULL, a agregação saltará este valor.
SELECT AVG(C1) FROM (VALUES (1), (1), (1), (1), (2)) AS MINHA_TABELA (C1)
SELECT AVG(CAST (C1 AS DOUBLE PRECISION)) FROM (VALUES (1), (1), (1), (1), (2)) AS MINHA_TABELA (c1)