聚合与分组
聚合函数
聚合函数用于对一组值执行计算,并返回单一的值。常用的聚合函数包括:COUNT、SUM、AVG、MAX、MIN。
COUNT
COUNT 用于计算满足特定条件的记录数。
SELECT COUNT(*) FROM employees;
SELECT COUNT(DISTINCT department_id) FROM employees;
`
SUM
SUM 用于计算某列数值的总和。
SELECT department, SUM(salary) FROM employees GROUP BY department;
AVG
AVG 用于计算某列数值的平均值。
SELECT department, AVG(salary) FROM employees GROUP BY department;
MAX / MIN
MAX 和 MIN 用于计算某列的最大值和最小值。
SELECT department, MAX(salary) FROM employees GROUP BY department;
SELECT department, MIN(salary) FROM employees GROUP BY department;
GROUP BY 子句
GROUP BY 用于根据一个或多个列对结果集进行分组。通常与聚合函数一起使用。
按单列分组
SELECT department, AVG(salary) FROM employees GROUP BY department;
按多列分组
SELECT department, hired_at, COUNT(*) FROM employees GROUP BY department, hired_at;
HAVING 子句
HAVING 用于过滤分组后的结果,通常与 GROUP BY 一起使用。与 WHERE 不同,HAVING 是在分组之后对结果进行过滤。
SELECT department, AVG(salary) FROM employees
GROUP BY department
HAVING AVG(salary) > 50000;
排序分组结果
可以使用 ORDER BY 对分组后的结果进行排序。
SELECT department, AVG(salary) FROM employees
GROUP BY department
ORDER BY AVG(salary) DESC;
小结
聚合与分组操作是 PostgreSQL 中强大的数据分析功能,帮助用户从大量数据中提取统计信息。通过 GROUP BY 和聚合函数的结合使用,可以实现各种类型的汇总、分组和统计分析。
相关内容
- CTE 与递归 介绍 PostgreSQL 中的公用表表达式 (CTE) 和递归查询,帮助开发者处理复杂的查询场景,简化查询结构和逻辑。
- JSON 操作 介绍 PostgreSQL 中的 JSON 操作,帮助开发者在数据库中高效存储、查询和操作 JSON 数据类型。
- 窗口函数 介绍 PostgreSQL 中的窗口函数,帮助开发者在查询中进行基于窗口的计算,如排名、聚合、分区等操作,以提升查询的灵活性与复杂性。
- 默认值与检查 介绍 PostgreSQL 中的默认值与检查约束,帮助开发者理解如何确保列值的默认填充和对数据进行有效性检查。
- 外键与级联 介绍 PostgreSQL 中的外键与级联操作,帮助开发者理解如何维护表之间的关系,并确保数据一致性。
- 主键与唯一约束 介绍 PostgreSQL 中的主键与唯一约束,帮助开发者理解如何确保数据的唯一性和完整性,避免数据重复。