SQL AVG() Función
La función AVG() de SQL
La función AVG() devuelve el valor promedio de una columna numérica.
Ejemplo
Encuentra el precio promedio de todos los productos:
SELECT AVG(Price)
FROM Products;
Try it Yourself »
Nota: Los valores NULL se ignoran.
Sintaxis
SELECT AVG(column_name)
FROM table_name
WHERE condition;
Base de datos de demostración
A continuación se muestra una selección de la tabla Products utilizada en los ejemplos:
| ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
|---|---|---|---|---|---|
| 1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18 |
| 2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19 |
| 3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10 |
| 4 | Chef Anton's Cajun Seasoning | 2 | 2 | 48 - 6 oz jars | 22 |
| 5 | Chef Anton's Gumbo Mix | 2 | 2 | 36 boxes | 21.35 |
Agregar una cláusula Where
Puede agregar una cláusula WHERE para especificar condiciones:
Ejemplo
Devuelve el precio promedio de los productos de la categoría 1:
SELECT AVG(Price)
FROM Products
WHERE CategoryID = 1;
Try it Yourself »
Utilice un alias
Asigne un nombre a la columna AVG utilizando la palabra clave AS.
Ejemplo
Nombra la columna "average price":
SELECT AVG(Price) AS [average price]
FROM Products;
Try it Yourself »
Más alto que el promedio
Para enumerar todos los registros con un precio superior al promedio, podemos usar la función AVG() en una subconsulta:
Ejemplo
Devolver todos los productos con un precio superior al precio medio:
SELECT * FROM Products
WHERE price > (SELECT AVG(price) FROM Products);
Try it Yourself »
Utilice AVG() con GROUP BY
Aquí utilizamos la función AVG() y la cláusula GROUP BY para devolver el precio promedio de cada categoría en la tabla Productos:
Ejemplo
SELECT AVG(Price) AS AveragePrice, CategoryID
FROM Products
GROUP BY CategoryID;
Try it Yourself »
Aprenderá más sobre la cláusula GROUP BY más adelante en este tutorial.