SQL Server 中的 AVG 函数是一个聚合函数,用于计算指定列中所有非 NULL 数值的平均值。AVG 函数返回的结果是一个数值类型,它忽略了列中的 NULL 值。
AVG 函数的基本语法如下:
sql复制代码
SELECT AVG(column_name) | |
FROM table_name | |
WHERE condition; |
其中,column_name
是你想要计算平均值的列名,table_name
是包含该列的表名,而 WHERE
子句是可选的,用于指定计算平均值的条件。
例如,假设你有一个名为 Employees
的表,其中包含一个名为 salary
的列,存储了每个员工的薪水。如果你想计算所有员工的平均薪水,你可以使用 AVG 函数如下:
sql复制代码
SELECT AVG(salary) AS AverageSalary | |
FROM Employees; |
这条 SQL 语句会返回 Employees
表中所有 salary
值的平均值,并将结果列命名为 AverageSalary
。
AVG 函数在处理数字列时非常有用,因为它能够提供一个关于该列数据集中心的快速概览。由于 AVG 函数忽略了 NULL 值,因此它不会将未定义或缺失的数据纳入计算中。
请注意,当 AVG 函数应用于包含不同类型数据的列时,SQL Server 会尝试进行隐式类型转换以便进行计算。如果无法进行隐式转换,或者列中包含非数值数据,那么 AVG 函数可能会返回错误。因此,在使用 AVG 函数时,确保你正在对数值列进行操作,并处理或排除任何可能干扰计算的非数值数据。
另外,AVG 函数经常与 GROUP BY 子句一起使用,以便按特定列对数据进行分组并计算每组的平均值。例如,如果你想按部门计算每个部门的平均薪水,你可以这样写:
sql复制代码
SELECT DepartmentID, AVG(salary) AS AverageSalaryPerDepartment | |
FROM Employees | |
GROUP BY DepartmentID; |
这条 SQL 语句将按 DepartmentID
对员工进行分组,并计算每个部门的平均薪水。