tekno.BALI ISLAND
ZH
所有文章
编程1 分钟阅读

SQL中的聚合函数与数据分组

AggregateGroup-ByHaving

聚合函数是SQL中的一个子程序,在被调用时会返回一个单一的值。它用于对表中的属性或字段进行标准统计计算,例如计算总值、平均值、查找极值(最小/最大),以及计算记录数。

简而言之,聚合函数处理多行数据以生成一个简洁且有信息量的输出值。

1. 聚合函数的类型

在数据处理中,常用的聚合函数主要有五种:

  • SUM 此函数用于对指定列的所有数据求和。需要注意的是,SUM函数只能应用于数值数据类型的列。语法:SELECT SUM(列_名) FROM 表_名 WHERE 条件;
  • COUNT 此函数用于计算某列中的行数。与SUM不同,COUNT函数可以用于数值和非数值(字符串/文本)数据类型。语法:SELECT COUNT(列_名) FROM 表_名 WHERE 条件;
  • AVG(平均值) 此函数用于计算某列的平均值。与SUM一样,该函数仅适用于数值数据类型。语法:SELECT AVG(列_名) FROM 表_名 WHERE 条件;
  • MIN 此函数用于显示某列的最小值。MIN函数灵活,可用于数值和非数值数据类型。语法:SELECT MIN(列_名) FROM 表_名 WHERE 条件;
  • MAX 与MIN相反,此函数用于显示某列的最大值。该函数也支持数值和非数值数据类型。语法:SELECT MAX(列_名) FROM 表_名 WHERE 条件;

2. GROUP BY子句

GROUP BY子句用于根据所需表达式将一个或多个列上的数据分组。其工作原理是将具有相同值的记录收集到同一组中。

该子句的使用与聚合函数密切相关,我们经常希望查看每个特定类别的统计结果(如总计或平均值)。语法:SELECT 列_名 FROM 表_名 GROUP BY 列_名;

3. HAVING子句

HAVING子句的功能与WHERE子句类似,用于为查询结果添加条件或筛选。然而,两者之间存在根本区别:

  1. 替代WHERE:WHERE子句不能与聚合函数同时使用。因此,HAVING用于根据聚合函数的结果筛选数据。
  2. 多行操作:HAVING用于多行操作(数据分组后),而WHERE在数据分组前作用于单行级别。

语法:SELECT 列_名 FROM 表_名 GROUP BY 列_名 HAVING 条件;

Wilan

巴厘岛Tekno的常驻撰稿人,积极分享技术、编程和软件工程领域的知识。

相关阅读

编程3 分钟阅读

GitHub 与 GitLab 的区别:哪个更适合开发者?

刚开始学习 Git 时,通常不需要多久就会遇到这两个名字:GitHub 和 GitLab。 乍一看,这两者几乎一模一样。都可以用来存储源代码、与团队协作、创建分支、合并代码,甚至记录项目中的更改。 由于它们的界面和功能相似,不少人最终会产生这样一个疑问: GitHub 和 GitLab 究

编程2 分钟阅读

Docker:概念、工作原理以及为什么许多开发者都在使用它

什么是 Docker? 如果你经常接触编程、Web 开发或服务器领域,你大概率听说过 Docker 这个词。 Docker 是一个允许我们在被称为 容器(Container) 的环境中运行应用程序的平台。 简单来说,Docker 帮助我们将应用程序及其所需的所有内容(如库、依赖项、配置甚至