温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

聚合函数分几种

发布时间:2026-10-27 13:02:55 来源:亿速云 阅读:86 作者:小樊 栏目:数据库

在数据库(尤其是 SQL)以及数据分析中,**聚合函数(Aggregate Functions)**通常可以按“功能”和“使用方式”两个角度来分类。下面以常见 SQL 聚合函数为主进行说明:


一、按功能分类

1. 数值统计类(最常用)

用于对数值列进行统计计算:

  • COUNT():计数(行数或非空值数)
  • SUM():求和
  • AVG():平均值
  • MIN():最小值
  • MAX():最大值

示例:

SELECT COUNT(*), AVG(salary), SUM(salary)
FROM employee;

2. 统计分布类(高级分析)

用于描述数据的分布特征:

  • STDDEV() / STDDEV_POP() / STDDEV_SAMP():标准差
  • VARIANCE() / VAR_POP() / VAR_SAMP():方差
  • PERCENTILE_CONT() / PERCENTILE_DISC():百分位数(部分数据库支持)

3. 字符串聚合类

将多行字符串合并为一行:

  • STRING_AGG()(PostgreSQL、SQL Server)
  • GROUP_CONCAT()(MySQL)
  • LISTAGG()(Oracle)

示例:

SELECT department, STRING_AGG(name, ',')
FROM employee
GROUP BY department;

4. 逻辑 / 条件聚合类

结合条件进行聚合:

  • COUNT(DISTINCT col):去重计数
  • SUM(CASE WHEN ... THEN ... END):条件求和
  • MAX(CASE WHEN ... THEN ... END):条件最大

5. 布尔 / 存在性聚合(部分数据库)

  • BOOL_AND()(PostgreSQL)
  • BOOL_OR()(PostgreSQL)
  • EVERY()(标准 SQL)

二、按使用方式分类

1. 普通聚合函数

与 GROUP BY 配合使用:

SELECT dept, AVG(salary)
FROM emp
GROUP BY dept;

2. 窗口聚合函数(分析函数)

不与 GROUP BY 合并行,而是保留原行:

SELECT name, salary, AVG(salary) OVER (PARTITION BY dept)
FROM emp;

3. 去重聚合

COUNT(DISTINCT user_id)

三、简单总结

聚合函数一般可分为:

  1. 基础聚合(COUNT / SUM / AVG / MIN / MAX)
  2. 统计聚合(方差、标准差、百分位)
  3. 字符串聚合
  4. 条件 / 去重聚合
  5. 窗口聚合(分析型)

如果你指的是某种具体数据库(MySQL / Oracle / PostgreSQL)或编程语言中的聚合(如 Pandas),可以告诉我,我可以更针对性地说明。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手