Función AVG de SQL Server

Función AVG de SQL Server

Objetivo: Este tutorial tiene como objetivo ayudarlo a comprender cómo calcular el promedio de un conjunto dado de valores en el servidor SQL utilizando la función AVG ().

Función AVG de SQL Server

La función avg () es una función agregada que le permite determinar el promedio de un conjunto dado de valores. La función ignorará los valores nulos en la entrada.

Lo siguiente muestra la sintaxis de la función avg ():

AVG ([todas | distinta] expresión)
[Over ([partition_by_clause] orden_by_clause)]

Argumentos de función

La función admite los siguientes argumentos:

  1. TODO - La palabra clave se aplica la función avg () a todos los valores en el conjunto proporcionado. Esta es la opción predeterminada para la función.
  2. DISTINTO - Esta palabra clave le permite aplicar la función solo a los valores distintos del conjunto dado. Esta opción ignorará todos los valores duplicados, sin importar el número de veces que ocurre el valor en el conjunto.
  3. expresión - Esto define un conjunto de valores o una expresión que devuelve un valor numérico.
  4. Over Partition_by | orden_by_clause - Esto especifica la condición utilizada para dividir la expresión en varias particiones donde se aplica la función. El orden_by_clause define el orden para los valores en las particiones resultantes.

El valor de retorno de la función dependerá del tipo de datos de entrada. La siguiente tabla muestra el tipo de salida correspondiente para un tipo de entrada dado.

Tipo de entrada Tipo resultante
pequeño En t
En t En t
pequeño En t
Empezando Empezando
flotante y real flotar
Dinero/Smallmoney dinero
decimal decimal

Uso de ejemplo

Veamos un uso de ejemplo para la función avg ().

Ejemplo 1 - usando el avg () con distinto

El siguiente ejemplo crea una tabla de muestra e inserta algunos valores aleatorios.

Drop Base de datos si existe sample_db;
Crear base de datos sample_db;
usar sample_db;
Crear tabla TBL (
int aleatorio,
);
Insertar en TBL (aleatorio)
valores (101), (69), (62), (99), (45), (80), (66), (61), (46), (28), (66);

En la siguiente consulta, usamos la función avg () para determinar el promedio de los valores distintos en la columna como se muestra:

seleccione AVG (distinto aleatorio) como promedio de TBL;

En este caso, la función calcula el promedio de valores únicos en la columna. El valor resultante es como se muestra:

Ejemplo 2 - usando la función avg () con todo

Para permitir que la función incluya valores duplicados, podemos usar todo la palabra clave como se muestra:

Seleccione AVG (todo aleatorio) como promedio de TBL;

En este caso, la función considera todos los once valores en lugar de 10 como se aplicó anteriormente.

NOTA: Dependiendo del tipo resultante, el valor puede redondearse, lo que hace que el uso de todo y distintivo sea insignificante.

Por ejemplo:

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 puede ver en la salida anterior, la diferencia se muestra principalmente cuando el tipo resultante es un valor de punto flotante.

Usando la función AVG con grupo por cláusula

Considere la tabla proporcionada a continuación:

Podemos calcular el precio promedio de cada producto por parte de un fabricante determinado que usa el grupo por cláusula y la función avg () como se ilustra a continuación:

Seleccione el fabricante, AVG (precio) como 'precio promedio', suma (cantidad) como 'en stock'
de productos
grupo por fabricante;

La consulta anterior debe organizar las filas en varias particiones basadas en el fabricante. Luego calculamos el precio promedio de todos los productos en cada partición.

La tabla resultante es como se muestra:

Conclusión

En esta publicación, cubrimos los fundamentos de trabajar con la función AVG en SQL Server para determinar el promedio de un conjunto dado de valores.

Gracias por leer!!