MYSQL的聚合函数
2026/6/10 4:02:58 网站建设 项目流程

一、聚合函数

用这张表举例

1.SUM(列名)求和,只计算数值,忽略null

(1)隐式转换带来的错误

sum函数按理来说只能用来计算数值,但是我们尝试用sum函数来计算varchar类型的class字段的数据时居然没有报错,而是计算出了15的值,这其实是因为mysql会把字符串开头的数字截取出来进行求和例如1班会变成1,若字符串开头不是数字则看成0来对待例如abc123会变成0

不推荐使用sum函数求取纯数值外的其他数据类型的数据,有可能会使数据出现错误。

(2)sum(列名)

可以看到所有分数被相加。

2.AVG(列名)求平均数,只计算数值,忽略null

(1)隐式转换带来的错误

和sum函数同理,也存在隐式转换带来的错误,隐式转换规则和sum函数的一样。

(2)avg(列名)

可以看到分数的平均值被求出。

3.MIN(列名)求最小值,只计算数值

4.MAX(列名)求最大值,只计算数值

5.COUNT(列名/常量/*)统计记录的条数

(1)count(列名),自动忽略null

可以看出id列一共有8条数据

score列只有6条数据,null的两条不计入,说明count(列名)函数自动忽略null

(2)count(常量)= count(*)它俩结果完全一样,而且都计入null行数据

(3)count(distinct 字段)去重统计

由上面的表可知,class只有1班,2班,3班三个班级,去重统计把class列重复的记录去掉后查出了一共有三条不重复的班级记录。

所有聚合函数都可以()

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询