Introdução e exemplos da função SQL AVG ()

Introdução e exemplos da função SQL AVG ()

Introdução e exemplos da função SQL AVG () 1
cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


Neste artigo, aprenderemos a função SQL Average, conhecida como AVG () função no T-SQL.
AVG () A função é uma função agregada que calcula o valor médio de um conjunto de dados numérico
    que retorna da instrução SELECT.

Introdução

Suponha que temos uma coleção de números. Primeiramente, adicionamos todos os membros da coleção e depois dividimos o número total de membros da coleção. Como resultado, o número obtido será a média. Vamos explicar essa noção matemática com um exemplo direto.

John é um estudante da universidade e decide registrar suas despesas todos os dias. O gráfico e a tabela a seguir representam as despesas de John na semana passada.

Cálculo da média em matemática

Agora, calcularemos a despesa média da semana passada com John. Inicialmente, somaremos todas as despesas da semana mencionada acima.

($ 20 + $ 60 + $ 20 + $ 42 + $ 10 + $ 15 + $ 8) = $ 175 é o valor total das despesas da semana.

Na segunda etapa, dividiremos o valor total da despesa em 7, porque essa coleção é formada por 7 membros. Em outras palavras, uma semana consiste em sete dias.

$ 175/7 = $ 25 é a despesa média da semana.

Depois de discutir o conceito matemático da média, vamos continuar aprendendo o básico da
AVG () função no SQL.

Preparação de dados

Com a ajuda da consulta a seguir, criaremos a tabela WeekExpense e inseriremos as despesas de três semanas de John.
    Usaremos esta tabela em todos os exemplos deste artigo.

Conjunto de resultados da tabela WeekExpense

Sintaxe da função Média do SQL

AVG () A função de sintaxe terá a seguinte aparência em sua forma simples:

Leia Também  Reorganização de um escritório menor - parte 2 - SQLBlog

A palavra-chave ALL permite calcular uma média para todos os valores do conjunto de resultados e é usada por
    padrão. A palavra-chave DISTINCT implementa o AVG () função apenas para valores únicos.

Exemplo de função AVG ()

A consulta a seguir calculará as despesas médias de John com a ajuda do AVG () função.

Um exemplo simples da função AVG ()

A imagem a seguir ilustra a metodologia de cálculo do AVG () função por uso padrão.

Ilustração da função média SQL

Como podemos ver, AVG () considera todos os valores de dias úteis e fins de semana em seu cálculo. Além disso, podemos
    obtenha o mesmo resultado quando adicionamos a palavra-chave ALL à sintaxe.

Um exemplo simples da função AVG () com a palavra-chave ALL

Se quisermos ignorar valores duplicados durante o AVG () cálculo da função, podemos usar o
    Palavra-chave DISTINCT. Depois de executar a consulta abaixo, vamos analisar o resultado:

Um exemplo simples da função AVG () com a palavra-chave DISTINCT

A palavra-chave DISTINCT elimina valores duplicados, portanto, leva em consideração apenas uma das despesas cujos valores são US $ 20 no cálculo. A imagem a seguir ilustra basicamente o mecanismo de trabalho da palavra-chave DISTINCT.

Ilustração da função média do SQL com a palavra-chave DISTINCT

Função Média SQL e valores NULL

AVG () A função não considera os valores NULL durante seu cálculo. Agora, vamos estudar um
    exemplo desta questão. Inicialmente, atualizaremos as despesas de domingo como NULL na tabela WeekExpense.

Agora, executaremos a seguinte consulta para calcular o valor médio.

Resultado do exemplo da função AVG ()

Como podemos ver, o valor NULL não levou em consideração o AVG () função no cálculo.
    A imagem a seguir ilustra o método de cálculo:

Ilustração da função média SQL e interação de expressões NULL

Se quisermos incluir os valores NULL no cálculo, podemos usar a função ISNULL. A função ISNULL é usada para alterar
    os valores NULL nos valores definidos. Portanto, executaremos o seguinte para incluir expressões NULL em
    o cálculo.

Uso da função AVG () com ISNULL

A imagem a seguir ilustra o método de cálculo da consulta anterior:

Como eliminar valores NULL na função média do SQL

Neste ponto, devemos observar aqui que incluímos a expressão NULL no cálculo como 0.

Uso médio da função SQL com a instrução GROUP BY

A instrução GROUP BY é usada para agrupar os dados e é usada principalmente com funções agregadas.

John decidiu calcular a despesa média de todas as semanas. Para lidar com o problema de John, precisamos usar GROUP BY
    declaração e AVG () função ao mesmo tempo. A consulta a seguir calculará a média
    despesa por cada semana individual.

Uso da função AVG () com a declaração GROUP BY

Quando examinamos o conjunto de resultados da consulta, podemos ver que as médias foram calculadas para todos
    semanas separadamente.

Dica bônus: Detalhes do plano de execução da função Média SQL

O plano de execução ajuda a entender os detalhes de execução de uma consulta. Quando analisamos o plano de execução de um
    consulta, podemos obviamente entender o que está acontecendo nos bastidores.

Agora, analisaremos o seguinte plano de execução real da consulta com o ApexSQL Plan para que possamos entender claramente o que
    acontece nos bastidores do AVG () função.

O plano de execução visual da consulta é mostrado abaixo:

Plano de execução da função AVG ()

A verificação da tabela lê todas as linhas nas tabelas porque não criamos nenhum índice nesta tabela. Na próxima etapa, o operador agregado Stream calcula a soma e o valor da contagem das expressões.

Operador agregado de fluxo

O escalar de computação pega essas expressões do Stream agregado e calcula o valor médio por meio das seguintes
    Fórmula.

Operador escalar de computação

Nesta fórmula, devemos comentar sobre um ponto. Quando o número total de expressões retornará 0, o cálculo médio retornará NULL. Se o número total de expressões retornar 0, o valor médio será NULL. A principal intenção disso é evitar a divisão por erro zero.

Conclusão

Neste artigo, aprendemos a função SQL Average e reforçamos nosso aprendizado com exemplos e ilustrações básicas.
    Ao longo do caminho, discutimos os detalhes do plano de execução do AVG () função.

Esat Erkec
Últimas mensagens de Esat Erkec (ver todos)