LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

数据统计必备技能:掌握SQL聚合函数的使用方法!

admin
2025年3月25日 9:46 本文热度 624

在数据分析师日常工作中,不仅要用到SQL将数据检索查询出来,还需要对数据进行不同维度的统计和汇总运算。

SQL中的聚合函数就是用于统计和汇总数据的。它们通常与GROUP BY子句一起使用,以便根据特定列对结果进行分组。

常见的聚合函数包括:COUNT、SUM、AVG、MAX、MIN等。

01

语法结构
SELECT     [column_name1],aggregate_function(column_name)FROM     table_nameWHERE conditionGROUP BY column_name1;

  • aggregate_function:聚合函数,例如 COUNT、SUM、AVG、MAX、MIN等。

  • column_name:要统计的列名。

  • column_name1:可选,根据该列的结果进行分组。

  • table_name:要查询的表名。

  • condition:可选,表示筛选的条件。

接下来,我们使用一些案例来实践看看常用的聚合函数COUNT、SUM、AVG、MAX、MIN如何使用。

02

实例

这里通过3张表进行举例,数据表示例数据分别如下:

1.商品销量表data_learning.product_order

2.商品信息表data_learning.product

3.商品二级分类信息表data_learning.product_category    

具体的创建数据库和数据表以及插入示例数据的SQL语句可以查看我之前的文章。

SQL创建数据库和数据表

数据分析师的日常,公众号:数据分析师的日常SQL创建数据库和数据表
    

2.1 统计表中的记录数量:COUNT函数

COUNT函数用于计算记录的行数。COUNT(*)用于计算所有行,包括值为NULL的行;COUNT(列名)用于计算指定列中的非空值数目,不包括值为NULL的行。

案例:统计商品信息表(data_learning.product)中的记录数。

SQL:

SELECT       COUNT(*)FROM       data_learning.product;

结果:    

案例:统计商品信息表(data_learning.product)中的商品数量。

SQL:

SELECT       COUNT(DISTINCT product_id)FROM       data_learning.product;

列名前加DISTINCT起到去重的作用。

结果也为114,说明商品信息表中的商品ID没有重复的:

聚合函数+GROUP BY还可以对某些列进行分组统计。

案例:统计每个商品类别中的商品数量,并按照商品数量从高到低排序。

SQL:

SELECT       b.category_name       ,COUNT(DISTINCT product_id)FROM       data_learning.product_order aLEFT JOIN           data_learning.product_category bON a.category_id = b.category_idGROUP BY 1ORDER BY 2 DESC;

结果:

     

2.2 计算某一列的总和:SUM函数

案例:计算商品销量表(data_learning.product_order)中的商品总销量。

SQL:

SELECT       SUM(sales_volume)FROM       data_learning.product_order;

结果:

SUM函数也可以结合GROUP BY,如果要计算每个商品类别的总销量,那么SQL语句该怎么写呢?小伙伴们可以想一想。

2.3 计算某一列的平均值:AVG函数

案例:计算商品销量表(data_learning.product_order)中的商品平均销量。

SQL:

SELECT       AVG(sales_volume)FROM       data_learning.product_order;

结果:

2.4 找出某一列的最大值:MAX函数

案例:找出商品销量表(data_learning.product_order)中的销量最大的商品名称。

首先我们通过下面的查询语句获取到最大销量为2033。

SELECT       MAX(sales_volume)FROM           data_learning.product_order;


然后,我们通过子查询的方式得到商品id和名称。

完整SQL如下:

SELECT       a.*,       b.product_nameFROM       data_learning.product_order aLEFT JOIN       data_learning.product bON a.product_id = b.product_idWHERE a.sales_volume IN(SELECT       MAX(sales_volume)FROM       data_learning.product_order);

结果:    

          

2.5 找出某一列的最小值:MIN函数

案例:找出商品销量表(data_learning.product_order)中的销量最小的商品名称。

思路类似于上一个MAX函数的案例,SQL如下:

SELECT       a.*,       b.product_nameFROM       data_learning.product_order aLEFT JOIN       data_learning.product bON a.product_id = b.product_idWHERE a.sales_volume IN(SELECT       MIN(sales_volume)FROM       data_learning.product_order);

结果:    


03

小结

简单总结下今天分享的内容。

首先,我们简单介绍了SQL聚合函数的基本语法结构,然后使用一些案例分别介绍了常用聚合函数COUNT、SUM、AVG、MAX、MIN的使用。


该文章在 2025/3/25 9:46:29 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved