Appearance
聚合与分组
聚合函数
聚合函数用于对一组值执行计算,并返回单一的值。常用的聚合函数包括: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 和聚合函数的结合使用,可以实现各种类型的汇总、分组和统计分析。