跳到主要内容

SQL 聚合函数概述

在SQL中,聚合函数(Aggregate Functions)用于对一组值执行计算并返回单个值。它们通常用于统计、汇总和分析数据。本文将介绍SQL中常见的聚合函数,并通过示例展示它们的用法。

什么是聚合函数?

聚合函数是对一组值执行计算并返回单个值的函数。常见的聚合函数包括 COUNTSUMAVGMINMAX。这些函数通常与 GROUP BY 子句一起使用,以便对数据进行分组统计。

备注

聚合函数忽略 NULL 值,除非明确指定处理 NULL 值的方式。

常见的SQL聚合函数

1. COUNT

COUNT 函数用于计算行数。它可以用于计算表中的总行数,或者计算满足特定条件的行数。

示例:

sql
SELECT COUNT(*) AS total_employees
FROM employees;

输出:

total_employees
100

2. SUM

SUM 函数用于计算数值列的总和。

示例:

sql
SELECT SUM(salary) AS total_salary
FROM employees;

输出:

total_salary
5000000

3. AVG

AVG 函数用于计算数值列的平均值。

示例:

sql
SELECT AVG(salary) AS average_salary
FROM employees;

输出:

average_salary
50000

4. MIN

MIN 函数用于查找数值列中的最小值。

示例:

sql
SELECT MIN(salary) AS min_salary
FROM employees;

输出:

min_salary
30000

5. MAX

MAX 函数用于查找数值列中的最大值。

示例:

sql
SELECT MAX(salary) AS max_salary
FROM employees;

输出:

max_salary
100000

聚合函数与GROUP BY

聚合函数通常与 GROUP BY 子句一起使用,以便对数据进行分组统计。

示例:

sql
SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department;

输出:

departmentemployee_count
HR20
IT30
Sales50

实际应用场景

假设你是一家公司的数据分析师,需要统计每个部门的员工数量、平均工资以及最高和最低工资。你可以使用以下SQL查询:

sql
SELECT department,
COUNT(*) AS employee_count,
AVG(salary) AS average_salary,
MIN(salary) AS min_salary,
MAX(salary) AS max_salary
FROM employees
GROUP BY department;

输出:

departmentemployee_countaverage_salarymin_salarymax_salary
HR20450003000060000
IT30550004000080000
Sales505000035000100000

总结

SQL聚合函数是数据分析中不可或缺的工具。通过使用 COUNTSUMAVGMINMAX 等函数,你可以轻松地对数据进行统计和汇总。结合 GROUP BY 子句,你可以进一步对数据进行分组分析。

提示

练习是掌握SQL聚合函数的最佳方式。尝试在你的数据库中使用这些函数,并观察结果。

附加资源

通过本文的学习,你应该对SQL聚合函数有了基本的了解。继续练习和探索,你将能够更熟练地使用这些函数来处理和分析数据。