京公网安备 11010802034615号
经营许可证编号:京B2-20210330
在企业数据分析场景中,单一维度的统计(如 “总销售额”“用户总数”)往往无法满足业务决策的深度需求。而 SQL 多个聚合函数的组合使用(如同时调用SUM、COUNT、AVG、MAX等),能帮助 CDA(Certified Data Analyst)数据分析师从 “量、率、值、极值” 等多维度拆解数据,快速挖掘业务背后的量化规律。这种分析方式不仅提升了数据解读的全面性,更成为 CDA 分析师连接技术与业务、输出精准决策依据的核心工具。
SQL 聚合函数是对数据进行汇总计算的基础工具,而 “多个聚合” 并非简单的函数叠加,而是结合GROUP BY(分组)、HAVING(聚合后筛选)等语法,实现 “多指标同步计算 + 维度分层分析” 的高效分析模式。其核心价值体现在三大维度,完美适配企业业务决策的需求:
单一聚合函数仅能回答 “某一个问题”(如SUM(销售额)回答 “总卖了多少钱”),而多个聚合可同时输出 “一组关联指标”,完整呈现业务现状。例如,零售企业分析 “各门店销售表现” 时,可通过SUM(销售额)(总营收)、COUNT(订单ID)(订单总量)、AVG(客单价)(客单价 = 销售额 / 订单数)、MAX(单笔金额)(最高订单额)四个聚合函数同步计算,既知晓 “卖了多少”,也清楚 “订单量如何”“用户消费能力怎样”“是否有高价值订单”,避免因单一指标导致的决策片面性。
结合GROUP BY与HAVING,多个聚合函数可实现 “按维度分组计算 + 按聚合结果筛选”,快速定位业务中的核心群体或异常环节。例如,电商平台分析 “用户消费行为” 时,按 “用户等级”(普通 / 银卡 / 金卡 / 钻石)分组,同时计算COUNT(DISTINCT 用户ID)(该等级用户数)、SUM(消费金额)(总消费)、AVG(复购次数)(平均复购),再通过HAVING SUM(消费金额) > 100万筛选高贡献等级,可直接锁定 “金卡、钻石用户” 为核心客群,为后续精准运营提供明确方向。
在传统分析中,若需获取多维度指标,可能需编写多段 SQL 分别计算(如先算总销售额,再算订单数,最后手动关联结果)。而多个聚合函数可通过一段 SQL 完成多指标计算,大幅减少代码量与执行时间。例如,分析 “月度商品销售数据” 时,一段 SQL 即可同步输出SUM(销量)(总销量)、AVG(售价)(平均售价)、MIN(库存)(最低库存)、MAX(上架时间)(最新上架商品时间),CDA 分析师无需反复操作,将更多精力投入到洞察解读中。
CDA 分析师对 SQL 多个聚合的运用,始终围绕 “解决业务问题” 展开。以下三大核心场景,覆盖了零售、电商、互联网等多行业的高频需求,且每个场景均需结合 “多聚合函数 + 分组筛选” 实现深度分析:
企业日常运营需监控 “营收、用户、效率” 等多维度核心指标,SQL 多个聚合是指标计算的核心工具。以零售企业 “月度运营分析” 为例,CDA 分析师需计算的指标及对应聚合组合如下:
| 业务指标 | SQL 聚合函数组合 | 业务意义 |
|---|---|---|
| 月度总营收 | SUM(订单金额) |
整体营收规模 |
| 月度订单总量 | COUNT(DISTINCT 订单ID) |
订单增长趋势 |
| 月度客单价 | SUM(订单金额) / COUNT(DISTINCT 订单ID)(或AVG(订单金额),需排除异常订单) |
用户消费能力 |
| 高价值订单占比 | SUM(CASE WHEN 订单金额 > 500 THEN 1 ELSE 0 END) / COUNT(DISTINCT 订单ID) |
高价值用户贡献度 |
| 库存周转效率 | SUM(销量) / AVG(库存数量) |
商品库存消化速度 |
通过一段 SQL 即可同步输出上述指标,例如:
SELECT
DATE_FORMAT(下单时间, '%Y-%m') AS 月度,
SUM(订单金额) AS 月度总营收,
COUNT(DISTINCT 订单ID) AS 月度订单总量,
ROUND(SUM(订单金额)/COUNT(DISTINCT 订单ID), 2) AS 月度客单价,
ROUND(SUM(CASE WHEN 订单金额 > 500 THEN 1 ELSE 0 END)/COUNT(DISTINCT 订单ID), 4) AS 高价值订单占比,
ROUND(SUM(销量)/AVG(库存数量), 2) AS 库存周转效率
FROM 销售数据表
WHERE 下单时间 BETWEEN '2025-01-01' AND '2025-06-30'
GROUP BY 月度
ORDER BY 月度;
该结果可直接用于管理层月度复盘,快速判断 “营收是否达标”“客单价是否提升”“库存周转是否正常”。
在用户运营中,CDA 分析师需通过多个聚合函数按 “用户属性”(如等级、地域、注册时间)分组,拆解不同群体的行为特征,实现用户分层。以电商平台 “用户复购分析” 为例,目标是找到 “高复购、高消费” 的核心用户,SQL 聚合组合如下:
SELECT
用户等级,
COUNT(DISTINCT 用户ID) AS 用户数,
AVG(复购次数) AS 平均复购次数,
SUM(消费金额) AS 总消费金额,
MAX(最近下单时间) AS 最近活跃时间
FROM 用户消费表
WHERE 注册时间 < '2025-01-01' -- 筛选老用户
GROUP BY 用户等级
HAVING AVG(复购次数) >= 3 -- 仅保留复购3次以上的群体
ORDER BY 总消费金额 DESC;
分析结果显示:“钻石等级用户” 的平均复购次数达 5.2 次,总消费金额占老用户的 45%,且最近活跃时间集中在近 7 天 —— 这一结论直接指导运营团队针对钻石用户推出 “专属会员日” 活动,进一步提升其复购率。
企业业务中常出现 “销量突降”“成本异常” 等问题,CDA 分析师可通过多个聚合函数对比 “正常周期” 与 “异常周期” 的数据,定位风险根源。以快消品牌 “某区域门店成本异常” 为例,通过多个聚合拆解成本构成:
SELECT
门店ID,
SUM(食材成本) AS 总食材成本,
SUM(人力成本) AS 总人力成本,
AVG(单店租金) AS 平均租金,
SUM(食材成本+人力成本+租金) AS 总成本,
SUM(销售额) AS 总销售额,
ROUND((总成本/销售额)*100, 2) AS 成本率
FROM 门店经营表
WHERE 经营时间 BETWEEN '2025-07-01' AND '2025-07-31' -- 异常月份
GROUP BY 门店ID
HAVING 成本率 > 60% -- 筛选成本率超标的门店
ORDER BY 成本率 DESC;
结果发现:“门店 A01” 的成本率高达 75%,进一步拆解显示其 “食材成本” 是其他门店的 2 倍,且AVG(食材损耗率)达 15%(正常门店为 5%)—— 最终定位问题为 “门店 A01 食材存储不当导致损耗过高”,企业据此优化了该门店的食材管理流程,1 个月内成本率降至 55%。
SQL 多个聚合虽高效,但实际使用中易因 “分组逻辑混乱”“函数搭配错误” 导致结果偏差。CDA 分析师需掌握三大实操要点,确保分析结果准确且高效:
GROUP BY是多个聚合的核心,需遵循 “非聚合字段必须包含在 GROUP BY 中” 的规则(部分数据库如 MySQL 可放宽,但易导致结果不可控)。例如,若需按 “月度” 和 “门店类型” 分组计算销售额与订单数,GROUP BY必须同时包含这两个字段:
-- 正确写法
SELECT 月度, 门店类型, SUM(销售额), COUNT(订单ID)
FROM 销售表
GROUP BY 月度, 门店类型;
-- 错误写法(门店类型未在GROUP BY中,结果随机)
SELECT 月度, 门店类型, SUM(销售额), COUNT(订单ID)
FROM 销售表
GROUP BY 月度;
CDA 分析师需根据业务目标确定分组维度,避免 “维度冗余”(如无需分组时强行 GROUP BY)或 “维度缺失”(如漏分组导致数据混淆)。
不同聚合函数的计算逻辑不同,搭配时需符合业务逻辑:
避免 “无关函数组合”:如SUM(订单金额)与COUNT(用户ID)搭配时,需确认 “一个用户可能有多笔订单”,避免误将 “订单金额总和” 与 “用户数” 直接关联;
用CASE WHEN实现条件聚合:如需计算 “不同支付方式的销售额占比”,可通过SUM(CASE WHEN 支付方式='支付宝' THEN 订单金额 ELSE 0 END)实现,无需多次查询;
注意数值精度:用ROUND()函数保留合理小数位(如客单价保留 2 位,占比保留 4 位),避免结果冗长。
WHERE与HAVING,精准控制筛选时机WHERE用于 “聚合前筛选数据”(如排除测试订单),HAVING用于 “聚合后筛选结果”(如筛选销售额超 100 万的门店),二者不可混淆。例如,筛选 “2025 年 Q2 正常订单中,销售额超 50 万的门店”:
-- 正确写法:WHERE先筛正常订单,HAVING再筛销售额
SELECT 门店ID, SUM(订单金额) AS 总销售额
FROM 销售表
WHERE 订单状态='正常' AND 下单时间 BETWEEN '2025-04-01' AND '2025-06-30'
GROUP BY 门店ID
HAVING SUM(订单金额) > 500000;
-- 错误写法:用WHERE筛选聚合结果(语法错误)
SELECT 门店ID, SUM(订单金额) AS 总销售额
FROM 销售表
WHERE 订单状态='正常' AND SUM(订单金额) > 500000
GROUP BY 门店ID;
某电商平台 2025 年 Q2 新用户留存率环比下降 12%,CDA 分析师通过 SQL 多个聚合函数拆解留存问题,具体步骤如下:
目标:找到 “留存率低的用户群体” 及 “影响留存的关键行为”;
数据:新用户注册表(含用户 ID、注册时间、注册渠道)、用户行为表(含用户 ID、访问次数、下单次数、收藏商品数)、订单表(含用户 ID、首单时间、首单金额)。
按 “注册渠道” 和 “首单行为” 分组,计算留存率相关指标:
SELECT
注册渠道,
是否首单(CASE WHEN 首单时间 IS NOT NULL THEN '有首单' ELSE '无首单' END),
COUNT(DISTINCT 用户ID) AS 新用户总数,
COUNT(DISTINCT CASE WHEN 7天内访问次数 >=1 THEN 用户ID ELSE NULL END) AS 7天留存用户数,
ROUND(COUNT(DISTINCT CASE WHEN 7天内访问次数 >=1 THEN 用户ID ELSE NULL END)/COUNT(DISTINCT 用户ID), 4) AS 7天留存率,
AVG(首单金额) AS 平均首单金额,
AVG(收藏商品数) AS 平均收藏数
FROM 新用户注册表
LEFT JOIN 用户行为表 ON 新用户注册表.用户ID = 用户行为表.用户ID
LEFT JOIN 订单表 ON 新用户注册表.用户ID = 订单表.用户ID
WHERE 注册时间 BETWEEN '2025-04-01' AND '2025-06-30'
GROUP BY 注册渠道, 是否首单
ORDER BY 7天留存率 DESC;
渠道差异:“短视频广告渠道” 的新用户 7 天留存率仅 18%(其他渠道平均 35%),且 “无首单” 用户占比达 60%;
行为影响:“有首单” 用户的 7 天留存率(45%)是 “无首单” 用户(12%)的 3.75 倍,且首单金额 > 200 元的用户留存率达 58%;
关联行为:“平均收藏数≥3” 的用户留存率(42%)显著高于 “收藏数 = 0” 的用户(15%)。
基于分析,CDA 分析师提出:
渠道优化:减少短视频广告的低质投放,重点投放 “社交平台渠道”(留存率 38%);
首单激励:对新用户推出 “首单满 200 减 50” 活动,提升首单转化率;
行为引导:新用户注册后推送 “收藏商品领优惠券” 活动,增加用户互动。
实施 1 个月后,平台新用户 7 天留存率提升至 32%,环比增长 20%。
在数据驱动决策的时代,SQL 多个聚合函数并非简单的技术工具,而是 CDA 分析师将 “数据” 转化为 “业务洞察” 的核心桥梁。它通过多指标同步量化,帮助分析师还原业务全貌;通过分组筛选,精准定位核心问题;通过高效计算,降低分析成本 —— 这些特性完美契合企业对 “快速、精准、全面” 的数据分析需求。
对于 CDA 分析师而言,掌握 SQL 多个聚合不仅需要熟悉语法规则,更需具备 “业务驱动技术” 的思维:明确分析目标后,选择合适的聚合函数组合与分组维度,避免陷入 “为技术而技术” 的误区。未来,随着企业数据量的增长与业务复杂度的提升,SQL 多个聚合将与 AI 建模、可视化工具进一步结合,成为 CDA 分析师推动企业数字化转型的重要能力之一。

数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在大数据时代背景下,海量行业数据亟需通过专业化工具挖掘潜在价值,辅助企业业务决策、优化运营模式、规避经营风险。Python凭借 ...
2026-08-28SQL是数据分析领域最基础、最核心的工具,承担着取数、清洗、统计、分层、归因的全流程工作。不同于单纯的语法练习,实战化SQL数 ...
2026-08-28 很多企业团队并非缺乏指标,而是陷入“指标失控”:仪表盘上堆满实时跳动的数据,却无法回答“当前瓶颈在哪、下一步该做什么 ...
2026-08-28随着新零售模式的快速普及,零售行业从传统的“货品驱动”全面转向“用户驱动”。门店交易数据、线上消费记录、浏览轨迹、复购频 ...
2026-08-27在数据分析、爬虫采集、接口开发、数据归档等场景中,JSON与CSV是两种使用率最高的数据存储格式。JSON为键值对结构化格式,适配 ...
2026-08-27 很多数据分析师每天都在计算指标、制作报表,但当被问到“什么叫指标数据元”“指标数据标准包含哪些核心维度”“指标数据质 ...
2026-08-27在数据分析工作中,时间序列是最常见的数据类型之一,订单时间、日志时间、交易时段、统计周期等数据均离不开时间处理。原始数据 ...
2026-08-26在数据分析与数据预处理工作中,原始数据普遍存在录入错误、系统故障、偶然极值等问题,极易产生异常数据。异常数据会严重干扰数 ...
2026-08-26 很多数据分析师能熟练写SQL、做透视表,但当被问到“数据是从哪里来的?经过哪些加工才进入数据仓库?ETL具体做了什么?”时 ...
2026-08-26在数理统计与数据分析领域,多因素方差分析与线性回归模型是研究变量关系、因素影响、数据差异规律的两大核心工具。二者均属于经 ...
2026-08-25数据分析的核心价值不在于数据计算与图表制作,而在于清晰、精准、有逻辑地输出结论、支撑业务决策。日常数据分析报告普遍存在结 ...
2026-08-25 很多数据分析师能熟练地写SQL、做透视表、算描述性统计,但当被问到“如何预测用户流失概率”“如何归因销量下滑的关键因素 ...
2026-08-25平均数是数据分析、数理统计与日常运算中最基础、最常用的统计量,核心作用是浓缩一组数据的整体水平、刻画数据集中趋势。在众多 ...
2026-08-24在MySQL数据库中,InnoDB存储引擎作为主流事务型引擎,默认事务隔离级别为可重复读(Repeatable Read,RR),这与SQL Server、Or ...
2026-08-24 很多数据分析师拿到数据就开始清洗、建模,但当被问到“这批数据属于什么类型——结构化还是非结构化?分类变量还是数值变量 ...
2026-08-24 很多数据分析师画过趋势图、做过业绩预测,但当被问到“这个月销售额增长20%,到底是长期趋势自然增长,还是促销活动的短期 ...
2026-08-21在数据分析与数据可视化工作中,直方图是展示数据分布特征、离散程度、集中区间的核心图表,能够直观呈现数值数据的频次分布规律 ...
2026-08-20在数据分析领域有一句核心准则:垃圾数据进,垃圾数据出。数据清洗是数据分析、数据建模、数据可视化之前的必经前置工序,也是保 ...
2026-08-20 很多数据分析师做过按月份的销售额趋势图,画过按天的流量折线图,但当被问到“时间序列和普通数据有什么本质区别”“季节性 ...
2026-08-20在Python数据分析与数据清洗工作中,Pandas是最核心的数据处理库,DataFrame是结构化数据的标准存储格式。在实时数据采集、循环 ...
2026-08-19