SQL Server AVG() 函数:获取列值的平均值
SQL Server AVG()
函数是一个聚合函数,它返回指定列值的平均值。
AVG()
函数通过计算给定值之和并将其除以非空值的计数来计算一组给定值的平均值。
AVG([ALL | DISTINCT] expression)
参数
表达式:一个有效的表达式,返回数值数据类型的值。它可以是表中的一列。
ALL 是默认值,它考虑表达式/列的所有值。
DISTINCT 只考虑唯一值来计算平均值。
返回值
表达式 | 返回类型 |
---|---|
tinyint | int |
smallint | int |
int | int |
bigint | bigint |
decimal 类型 (p, s) | decimal(38, max(s,6)) |
money 和 smallmoney 类型 | money |
float 和 real 类型 | float |
示例 1
在以下示例中,AVG()
与 Employee
表的 Salary
列一起使用。它计算所有薪水的平均值和不同薪水的平均值。
示例:AVG()
SELECT AVG (ALL Salary) AS AllSalary, AVG (DISTINCT Salary) AS DistinctSalary
FROM Employee

示例 2
在以下示例中,AVG()
函数在 WHERE 子句中使用。它返回所有薪水高于平均薪水的员工。
示例:WHERE 子句中的 AVG()
SELECT EmployeeID, FirstName, Salary FROM Employee
WHERE Salary > (SELECT AVG(Salary) FROM Employee)
