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:
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!!