📜  SQL Server 中的 AVG()函数(1)

📅  最后修改于: 2023-12-03 14:47:35.763000             🧑  作者: Mango

SQL Server 中的 AVG() 函数

在 Microsoft SQL Server 中,AVG() 函数用于计算一个数值数据列的平均值。AVG() 函数返回一个浮点值。

语法:

AVG(expression)
  • expression: 必需。要计算平均值的数值列或表达式。

AVG() 函数可以用于以下类型的数据列:

  • 整数
  • 浮点数
  • 日期、时间戳、日期时间
  • 位(bit)数据类型
  • 任何可以隐式转换为数值的类型
示例

假设我们有一个名为 "products" 的表,其结构如下:

| id | name | price | |----|--------|-------| | 1 | 电视 | 2000 | | 2 | 冰箱 | 3000 | | 3 | 洗衣机 | 4000 | | 4 | 空调 | 5000 | | 5 | 微波炉 | 1000 |

示例1:计算价格列的平均值
SELECT AVG(price) AS avg_price FROM products;

结果:

| avg_price | |-----------| | 3000 |

示例2:计算价格列中大于2000的平均值
SELECT AVG(price) AS avg_price FROM products WHERE price > 2000;

结果:

| avg_price | |-----------| | 4000 |

示例3:计算日期列的平均值
SELECT AVG(DATEDIFF(day, '2022-04-01', '2022-04-10')) AS avg_days;

结果:

| avg_days | |----------| | 4 |

注意事项
  • AVG() 函数只能应用于数值数据类型。
  • AVG() 函数忽略NULL值,因此不必担心空值的影响。
  • AVG() 函数支持MAX和MIN聚合函数。
  • AVG() 函数返回一个浮点值,因此需要使用适当的精度和 ROUND() 函数进行舍入。
  • AVG() 函数还可以配合GROUP BY子句使用,计算每个组的平均值。