SQL 中的 AVG 函数

2024 年 8 月 29 日 | 4 分钟阅读

AVG 是 SQL 中的聚合函数,它返回表中整数列值的平均值。

AVG 函数的语法

在结构化查询语言中,我们使用 AVG 函数处理表的列,如以下代码块所示

在此语法中,我们必须定义我们想要执行 AVG 函数的表的名称和列。

AVG 函数示例

在这里,我们将通过创建新表来使用表的列执行 AVG 函数

以下显示了在 SQL 中创建新表的语法

以下 CREATE 语句创建了 Product_Details 表,用于存储产品的价格和数量

以下多个 INSERT 查询将带有销售价和购买价的产品的记录插入 Product_Details 表

以下 SELECT 语句显示了上面 Product_Details 表的已插入记录


Product_IDProduct_Name产品数量Purchasing_PriceSelling_PriceRelease_Date类别Product_Rating
104P110.250945NULL2022-04-30衣物NULL
202P415.50045752022-01-28电气5
103P218.25025NULL2022-02-18玩具4
111P725.2505152021-12-25衣物9
210P615.50050702021-10-15电气NULL
212P819.7501102502022-01-28衣物4
112P1010.2505508352022-04-11玩具NULL

查询 1: 以下 SELECT 查询对上述 Product_Details 表的 Product_Quantity 列使用 AVG 函数

输出

产品数量的平均值
16.39

查询 2: 以下 SELECT 查询对上述 Product_Details 表的 Selling_Price 列使用 AVG 函数

此查询返回产品销售价格的平均值。

输出

产品销售价格的平均值
249

查询 3: 以下 SELECT 查询对上述 Product_Details 表的 Product_Rating 列使用 AVG 函数

此查询返回 Product_rating 列值的平均值。

输出

产品评分的平均值
5.5

带 WHERE 子句的 AVG 函数

我们还可以将 WHERE 子句与 AVG 函数一起使用,该函数会添加过滤行的值。

带 WHERE 子句使用 AVG 函数的语法如下

查询 1: 以下 SELECT 查询对上述 Product_Details 表使用带 WHERE 子句的 AVG 函数

此查询查找产品 ID 大于 200 的产品数量的平均值。

输出

产品平均值 > 200
16.91

查询 2: 以下 SELECT 查询对上述 Product_Details 表使用带 WHERE 子句的 AVG 函数

此查询查找于 2022-01-28 发布的产品采购价格的平均值。

输出

采购价格平均值
162.5

带 DISTINCT 子句的 AVG 函数

我们还可以将 DISTINCT 子句与 AVG 函数一起使用,该函数会添加表中列的不同值。

带 DISTINCT 子句使用 AVG 函数的语法如下

查询 1: 以下 SELECT 查询对上述 Product_Details 表使用带 DISTINCT 子句的 AVG 函数

此查询将 Product_quantity 列的不同值相加,然后计算平均值。

输出

不同产品平均值
17.8

查询 2: 以下 SELECT 查询对上述 Product_Details 表使用带 DISTINCT 子句的 AVG 函数

输出

不同产品评分的平均值
6