Função AVG do servidor SQL

Função AVG do servidor SQL

Objetivo: Este tutorial visa ajudá -lo a entender como calcular a média de um determinado conjunto de valores no SQL Server usando a função AVG ().

Função AVG do servidor SQL

A função AVG () é uma função agregada que permite determinar a média para um determinado conjunto de valores. A função ignorará os valores nulos na entrada.

A seguir, mostra a sintaxe da função AVG ():

AVG ([All | Distinct] Expressão)
[Over ([partition_by_clause] order_by_clause)]

Argumentos de função

A função suporta os seguintes argumentos:

  1. TODOS - A palavra -chave All Aplica a função AVG () a todos os valores no conjunto fornecido. Esta é a opção padrão para a função.
  2. Distinto - Essa palavra -chave permite que você aplique a função apenas aos valores distintos do conjunto fornecido. Esta opção ignorará todos os valores duplicados, independentemente do número de vezes que o valor ocorra no conjunto.
  3. expressão - Isso define um conjunto de valores ou uma expressão que retorna um valor numérico.
  4. Sobre partição_by | order_by_clause - Isso especifica a condição usada para dividir a expressão em várias partições em que a função é aplicada. O Order_by_clause define a ordem dos valores nas partições resultantes.

O valor de retorno da função dependerá do tipo de dados de entrada. A tabela a seguir mostra o tipo de saída correspondente para um determinado tipo de entrada.

Tipo de entrada Tipo resultante
tinyint int
int int
smallint int
bigint bigint
flutuar e real flutuador
Money/SmallMoney dinheiro
decimal decimal

Exemplo de uso

Vejamos algum exemplo de uso da função AVG ().

Exemplo 1 - usando o avg () com distinto

O exemplo a seguir cria uma tabela de amostra e insere alguns valores aleatórios.

soltar banco de dados se existir sample_db;
Crie o Database Sample_db;
use sample_db;
Crie Tabela TBL (
Random Int,
);
Insira no TBL (aleatório)
valores (101), (69), (62), (99), (45), (80), (66), (61), (46), (28), (66);

Na consulta a seguir, usamos a função AVG () para determinar a média para os valores distintos na coluna como mostrado:

selecione AVG (aleatório distinto) como média de TBL;

Nesse caso, a função calcula a média para valores únicos na coluna. O valor resultante é como mostrado:

Exemplo 2 - usando a função AVG () com todos

Para permitir que a função inclua valores duplicados, podemos usar todas as palavras -chave como mostrado:

Selecione AVG (tudo aleatório) como média em TBL;

Nesse caso, a função considera todos os onze valores em vez de 10, conforme aplicado anteriormente.

OBSERVAÇÃO: Dependendo do tipo resultante, o valor pode ser arredondado, fazendo o uso de todos e insignificantes distintos.

Por exemplo:

101+69+62+99+45+80+66+61+46+28+66/11 = 65.7272727273
101+69+62+99+45+80+66+61+46+28/10 = 65.7

Como você pode ver na saída acima, a diferença é mostrada principalmente quando o tipo resultante é um valor de ponto flutuante.

Usando a função AVG com o grupo por cláusula

Considere a tabela fornecida abaixo:

Podemos calcular o preço médio de cada produto por um determinado fabricante usando o grupo por cláusula e a função AVG (), conforme ilustrado abaixo:

Selecione o fabricante, AVG (preço) como 'preço médio', soma (quantidade) como 'em estoque'
de produtos
grupo por fabricante;

A consulta acima deve organizar as linhas em várias partições baseadas no fabricante. Em seguida, calculamos o preço médio para todos os produtos em cada partição.

A tabela resultante é como mostrado:

Conclusão

Neste post, abordamos os fundamentos de trabalhar com a função AVG no SQL Server para determinar a média para um determinado conjunto de valores.

Obrigado pela leitura!!