SQL中的聚合函数用于对一组值执行计算并返回单个值。这些函数常用于统计分析中,如计算总数、平均值、最大值、最小值等。以下是一些常用的SQL聚合函数及其示例。
1. COUNT()
COUNT()
函数用于计算表中的行数或特定列中非NULL值的数量。
- 计算表中的总行数:
SELECT COUNT(*) FROM Employees;
- 计算特定列中非NULL值的数量:
SELECT COUNT(DepartmentID) FROM Employees;
这将计算DepartmentID
列中非NULL值的数量。
2. SUM()
SUM()
函数用于计算数值列中值的总和。
- 计算员工的总薪资:
SELECT SUM(Salary) AS TotalSalary FROM Employees;
这将返回所有员工薪资的总和,并将结果列命名为TotalSalary
。
3. AVG()
AVG()
函数用于计算数值列的平均值。
- 计算员工的平均薪资:
SELECT AVG(Salary) AS AverageSalary FROM Employees;
这将返回所有员工薪资的平均值,并将结果列命名为AverageSalary
。
4. MAX()
MAX()
函数用于找出某列的最大值。
- 找出薪资最高的员工薪资:
SELECT MAX(Salary) AS HighestSalary FROM Employees;
这将返回薪资列中的最大值,并将结果列命名为HighestSalary
。
5. MIN()
MIN()
函数与MAX()
相反,用于找出某列的最小值。
- 找出薪资最低的员工薪资:
SELECT MIN(Salary) AS LowestSalary FROM Employees;
这将返回薪资列中的最小值,并将结果列命名为LowestSalary
。
6. GROUP BY
虽然GROUP BY
本身不是聚合函数,但它经常与聚合函数一起使用,以按一个或多个列对结果集进行分组,并对每个组应用聚合函数。
- 按部门分组并计算每个部门的员工数:
SELECT DepartmentID, COUNT(*) AS NumberOfEmployees
FROM Employees
GROUP BY DepartmentID;
这将按DepartmentID
分组,并计算每个部门的员工数。
示例组合
- 找出每个部门的最高薪资:
SELECT DepartmentID, MAX(Salary) AS HighestSalaryInDepartment
FROM Employees
GROUP BY DepartmentID;
这将按DepartmentID
分组,并找出每个部门的最高薪资。
聚合函数是SQL中非常强大的工具,它们允许你轻松地对数据库中的数据进行统计分析。