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 子句的内容。