Skip to content

聚合与分组 ​

聚合函数 ​

聚合函数用于对一组值执行计算,并返回单一的值。常用的聚合函数包括:COUNT、SUM、AVG、MAX、MIN。

COUNT ​

COUNT 用于计算满足特定条件的记录数。

sql
SELECT COUNT(*) FROM employees;
SELECT COUNT(DISTINCT department_id) FROM employees;

SUM ​

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

sql
SELECT department, SUM(salary) FROM employees GROUP BY department;

AVG ​

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

sql
SELECT department, AVG(salary) FROM employees GROUP BY department;

MAX / MIN ​

MAX 和 MIN 用于计算某列的最大值和最小值。

sql
SELECT department, MAX(salary) FROM employees GROUP BY department;
SELECT department, MIN(salary) FROM employees GROUP BY department;

GROUP BY 子句 ​

GROUP BY 用于根据一个或多个列对结果集进行分组。通常与聚合函数一起使用。

按单列分组 ​

sql
SELECT department, AVG(salary) FROM employees GROUP BY department;

按多列分组 ​

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

HAVING 子句 ​

HAVING 用于过滤分组后的结果,通常与 GROUP BY 一起使用。与 WHERE 不同,HAVING 是在分组之后对结果进行过滤。

sql
SELECT department, AVG(salary) FROM employees
GROUP BY department
HAVING AVG(salary) 50000;

排序分组结果 ​

可以使用 ORDER BY 对分组后的结果进行排序。

sql
SELECT department, AVG(salary) FROM employees
GROUP BY department
ORDER BY AVG(salary) DESC;

小结 ​

聚合与分组操作是 PostgreSQL 中强大的数据分析功能,帮助用户从大量数据中提取统计信息。通过 GROUP BY 和聚合函数的结合使用,可以实现各种类型的汇总、分组和统计分析。

聚合与分组 ​

聚合函数 ​

聚合函数用于对一组值执行计算,并返回单一的值。常用的聚合函数包括:COUNT、SUM、AVG、MAX、MIN。

COUNT ​

COUNT 用于计算满足特定条件的记录数。

sql
SELECT COUNT(*) FROM employees;
SELECT COUNT(DISTINCT department_id) FROM employees;

SUM ​

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

sql
SELECT department, SUM(salary) FROM employees GROUP BY department;

AVG ​

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

sql
SELECT department, AVG(salary) FROM employees GROUP BY department;

MAX / MIN ​

MAX 和 MIN 用于计算某列的最大值和最小值。

sql
SELECT department, MAX(salary) FROM employees GROUP BY department;
SELECT department, MIN(salary) FROM employees GROUP BY department;

GROUP BY 子句 ​

GROUP BY 用于根据一个或多个列对结果集进行分组。通常与聚合函数一起使用。

按单列分组 ​

sql
SELECT department, AVG(salary) FROM employees GROUP BY department;

按多列分组 ​

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

HAVING 子句 ​

HAVING 用于过滤分组后的结果,通常与 GROUP BY 一起使用。与 WHERE 不同,HAVING 是在分组之后对结果进行过滤。

sql
SELECT department, AVG(salary) FROM employees
GROUP BY department
HAVING AVG(salary) 50000;

排序分组结果 ​

可以使用 ORDER BY 对分组后的结果进行排序。

sql
SELECT department, AVG(salary) FROM employees
GROUP BY department
ORDER BY AVG(salary) DESC;

小结 ​

聚合与分组操作是 PostgreSQL 中强大的数据分析功能,帮助用户从大量数据中提取统计信息。通过 GROUP BY 和聚合函数的结合使用,可以实现各种类型的汇总、分组和统计分析。

Released under the MIT License.