SQL 实战:聚合函数高级用法 – 多层分组与动态统计

在数据分析中,聚合函数如 COUNT()SUM()AVG()MAX()MIN() 等是最常用的工具之一。它们允许我们对大量数据进行汇总和统计。然而,随着业务需求的复杂化,我们常常需要进行更复杂的统计操作,例如多层次的分组统计、动态分组等。

本篇文章将深入讲解 聚合函数的高级用法,包括如何通过 多层分组动态统计 来实现复杂的业务需求。


一、常见聚合函数回顾

函数 说明 示例
COUNT() 计算记录数 COUNT(*) → 统计行数
SUM() 求和 SUM(amount) → 求总和
AVG() 计算平均值 AVG(price) → 计算平均价格
MAX() 获取最大值 MAX(date) → 获取最新日期
MIN() 获取最小值 MIN(salary) → 获取最低工资
GROUP_CONCAT() 合并分组内的元素(字符串) GROUP_CONCAT(name) → 拼接所有名字

二、多层次分组与聚合

需求

在实际业务中,可能需要对数据进行多层次的分组统计,例如:按年份、月份和部门对销售额进行统计,或者按地区、产品类别和销售人员对销售数据进行分组。此时,嵌套的 GROUP BY 和聚合函数将帮助我们进行更精确的统计分析。

案例 1:按年份、月份、部门统计销售额
表结构 sales
sale_id sale_date department amount
1 2024-12-01 10:00:00 Sales 1000
2 2024-12-02 14:30:00 HR 200
3 2024-11-01 09:00:00 Sales 1500
4 2024-12-03 11:15:00 Marketing 500
5 2024-11-15 16:30:00 HR 800

SQL 实现
SELECT  
    YEAR(sale_date) AS year

你可能感兴趣的:(数据库,sql,数据库)