文章目录
前言一、聚集函数都有哪些二、如何对数据进行分组,并进行聚集统计
前言
聚集函数,它是对一组数据进行汇总的函数,输入的是一组数据的集合,输出的是单个值。通常我们可以利用聚集函数汇总表的数据,如果稍微复杂一些,我们还需要先对数据做筛选,然后再进行聚集,比如先按照某个条件进行分组,对分组条件进行筛选,然后得到筛选后的分组的汇总信息。
重点内容:
聚集函数都有哪些,能否在一条 SELECT 语句中使用多个聚集函数;如何对数据进行分组,并进行聚集统计;如何使用 HAVING 过滤分组,HAVING 和 WHERE 的区别是什么。
一、聚集函数都有哪些
AVG、MAX、MIN 等聚集函数会自动忽略值为 NULL 的数据行,MAX 和 MIN 函数也可以用于字符串类型数据的统计,如果是英文字母,则按照 A—Z 的顺序排列,越往后,数值越大。如果是汉字则按照全拼拼音进行排列。
SELECT ROUND(AVG(DISTINCT hp_max), 2) FROM heros
如果我们不使用 DISTINCT 函数,就是对全部数据进行聚集统计。如果使用了 DISTINCT 函数,就可以对数值不同的数据进行聚集。
一般我们使用 MAX 和 MIN 函数统计数据行的时候,不需要再额外使用 DISTINCT,因为使用 DISTINCT 和全部数据行进行最大值、最小值的统计结果是相等的。
二、如何对数据进行分组,并进行聚集统计
SELECT COUNT(*), role_main FROM heros GROUP BY role_main