Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
Servidor SQL: función AVG
Este tutorial de SQL Server describe cómo usar Función promedio Sintaxis y ejemplos en SQL Server (Transact-SQL).
describir
En SQL Server (Transact-SQL), la función AVG devuelve el promedio de una expresión.
sintaxis
La sintaxis de la función AVG en SQL Server (Transact-SQL) es:
SELECT AVG(aggregate_expression) FROM tables [WHERE conditions];
Alternativamente, cuando los resultados se agrupan por una o más columnas, la sintaxis de la función AVG es:
SELECT expression1, expression2, ... expression_n, AVG(aggregate_expression) FROM tables [WHERE conditions] GROUP BY expression1, expression2, ... expression_n;
parámetro o parámetro
expresión1, expresión2, … expresión_n Expresiones que no están encapsuladas en funciones AVG y deben incluirse en la cláusula GROUP BY al final de la instrucción SQL. expresión_agregada Esta es la columna o expresión que se promediará. tabla La tabla de la que desea recuperar registros. Debe aparecer al menos una tabla en la cláusula FROM. La condición WHERE es opcional. Estas son las condiciones que se deben cumplir para seleccionar registros.
aplicar para
Las funciones AVG están disponibles en las siguientes versiones de SQL Server (Transact-SQL):
- Servidor SQL 2017, Servidor SQL 2016, Servidor SQL 2014, Servidor SQL 2012, Servidor SQL 2008 R2, Servidor SQL 2008, Servidor SQL 2005
Ejemplo: usar un solo campo
Veamos algunos ejemplos de funciones AVG de SQL Server y exploremos cómo usar las funciones AVG en SQL Server (Transact-SQL).
Por ejemplo, es posible que desee conocer la cantidad promedio de todos los productos con una cantidad mayor que 0.
SELECT AVG(quantity) AS "Average Quantity" FROM products WHERE quantity > 0;
En este ejemplo de función AVG, asignamos un alias a la expresión AVG (cantidad) como “Cantidad promedio”. Por lo tanto, cuando se devuelva el conjunto de resultados, se mostrará “Cantidad promedio” como nombre de campo.
Ejemplo: uso de DISTINCT
Puede utilizar la cláusula DISTINCT en la función AVG. Por ejemplo, la siguiente declaración SQL devuelve el salario promedio para valores de salario únicos superiores a $40,000/año.
SELECT AVG(DISTINCT salary) AS "Average Salary" FROM employees WHERE salary > 40000;
Si hay dos sueldos a $50.000/año, solo se utilizará uno de los valores en la función AVG.
Ejemplo: uso de fórmula
La expresión contenida en la función AVG no tiene que ser un solo campo. También puede utilizar fórmulas. Por ejemplo, es posible que necesite una comisión promedio.
SELECT AVG(order_value * 0.10) AS "Average Commission" FROM order_details;
Ejemplo: uso de GROUP BY
También puede usar la función AVG para devolver el nombre del departamento y la cantidad promedio (en el departamento correspondiente). Por ejemplo,
SELECT department, AVG(quantity) AS "Average Quantity" FROM products GROUP BY department;
Debido a que enumeró una columna en la declaración SELECT que no estaba encapsulada en la función AVG, debe usar la cláusula GROUP BY. Por lo tanto, el campo de departamento debe aparecer en la sección GROUP BY.