SQL AVG() 函数
SQL AVG() 函数
AVG() 函数返回数值列的平均值。
AVG() 函数会忽略列中的 NULL 值。
语法
SELECT AVG(column_name) FROM table_name WHERE condition;
实例
查找所有产品的平均价格:
SELECT AVG(Price) FROM Products;
演示数据库
以下是在实例中使用的 Products 表的片段:
| ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
|---|---|---|---|---|---|
| 1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18.00 |
| 2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19.00 |
| 3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10.00 |
| 4 | Chef Anton's Cajun Seasoning | 2 | 2 | 48 - 6 oz jars | 22.00 |
| 5 | Chef Anton's Gumbo Mix | 2 | 2 | 36 boxes | 21.35 |
添加 WHERE 子句
您可以添加一个 WHERE 子句来指定条件:
实例
返回类别为 1 的产品的平均价格:
SELECT AVG(Price) FROM Products WHERE CategoryID = 1;
使用别名
使用 AS 关键字为 AVG 列命名。
实例
将该列命名为 "average price":
SELECT AVG(Price) AS [average price] FROM Products;
高于平均值
要列出所有价格高于平均值的记录,我们可以在子查询中使用 AVG() 函数:
实例
返回所有价格高于平均价格的产品:
SELECT * FROM Products WHERE price > (SELECT AVG(price) FROM Products);
将 AVG() 与 GROUP BY 结合使用
在这里,我们使用 AVG() 函数和 GROUP BY 子句,返回 Products 表中每个类别的平均价格:
实例
SELECT AVG(Price) AS AveragePrice, CategoryID FROM Products GROUP BY CategoryID;
您将在本教程的稍后部分中学习更多有关 GROUP BY 子句的内容。