聚合函数和分组查询(快掏出小本本记下来这些锦囊妙计)
Posted m0_58827096
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聚合函数和分组查询(快掏出小本本记下来这些锦囊妙计)相关的知识,希望对你有一定的参考价值。
聚合函数
-
介绍
在数据库查询过程中,不仅只返回数据的基础信息,有时还需对这些数据进行统计和汇总。mysql 提供了聚合函数,用于实现这些高级功能。
聚合函数用于对一组值进行计算并返回一个汇总值,使用聚合函数可以统计记录行数、计算某个字段值的总和以及这些值的最大值、最小值和平均值等。 -
函数类型
sum函数
功能:返回选取的某列值的总和
max函数
功能:返回选取的某列的最大值
min函数
功能:返回选取的某列的最小值
avg函数
功能:返回选取的某列的平均值
count函数
功能:返回选取的某列或记录的行数
注意:
count 函数用于统计记录行数。使用 count 函数时,必须指定一个列的名称或使用“”。使用“”可获取整张表的记录行数。注意:列值为 null 的字段不参与运算。
分组查询
group by 子句
1.定义
使用 group by 子句可以将数据划分到不同的组中,实现对记录的分组查询。group by 从英文字面的意义上可以理解为“根据(by)一定的规则进行分组(group)”,该子句的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对这若干个小区域进行统计汇总。
2.语法
group by 字段列表 [having 条件表达式 ]
3.说明
通常情况下, group by 子句需要与聚合函数一同使用。
多字段分组和 having 子句
1.定义
group by 子句的分组字段是一个字段列表,即 MySQL 支持按多个字段进行分组。具体的分组策略:分组优先级从左至右,即先按第一个字段进行分组,然后在第一个字段值相同的记录中,再根据第二个字段的值进行分组, 依次类推。
2.having 子句
having 子句的作用是筛选满足条件的组,即在分组之后过滤数据。having 子句的位置放在 group by 子句之后,常包含聚合函数。
比较 where 子句和 having 子句
having 子句和 where 子句均用于过滤数据,两者的区别在于:where 子句对结果集进行过滤筛选,而 having 子句则对分组的结果进行筛选。
以上是关于聚合函数和分组查询(快掏出小本本记下来这些锦囊妙计)的主要内容,如果未能解决你的问题,请参考以下文章
聚合函数以及MYSQL分组查询——GROUP BY语句(一天一个小技巧,明天你就是专业人士,欧耶!)