Mysql -聚合函数简介
in PHP with 0 comment

Mysql -聚合函数简介

in PHP with 0 comment

Mysql-聚合函数简介

说明

说明:本文给大家的介绍Mysql中的一些常用的聚合函数,包括sum()、count()、avg() 、max()、min()等等,希望大家可以好好学习。


count()函数

基本介绍

基本介绍: count 函数是进行统计满足条件的记录数有多少条, 是按照分组的形式统计.

举例:    
1查询一共有多少个用户
select count(*) from user;
2.查询按角色分组统计每个角色下有多少个用户
select role_id,count(*) as total  from user group by role_id;
count函数细节

1.count(*) 和 conut(列名) 是有区别的,count(列名)会忽略掉为null的值,所以我们在使用的时候要注意。
举例:user表中的phone字段不是必选项,

mysql> select count(*) from user;
+-------------------+
| count(*)          |
+-------------------+
|                88 |
+-------------------+
1 row in set (0.00 sec)

mysql> select count(phone) from user;
+--------------+
| count(phone) |
+--------------+
|           34 |
+--------------+
1 row in set (0.00 sec)
count函数总结
执行效果上:  
count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULL  
count(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULL  
count(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计。

执行效率上:  
列名为主键,count(列名)会比count(1)快  
列名不为主键,count(1)会比count(列名)快  
如果表多个列并且没有主键,则 count(1) 的执行效率优于 count(*)  
如果有主键,则 select count(主键)的执行效率是最优的  
如果表只有一个字段,则 select count(*)最优。

sum()函数

基本介绍

sum函数可以统计查询数据的和
示例:
查询所有人的数学成绩的和
select sum(math) from student;
查询所有人语文、数学、英语的和
select sum(math),sum(chinese),sum(english) from student;

sum函数细节

1.当数据中有null值时使用sum(列名+列名)会出现错误数据,应使用sum(列名)+sum(列名)
2.使用ifnull 过滤
ifnull 函数是这一个 ifnull(expr1, expr2), 如果expr1为null, 则取expr2值,如果expr1不为null,就取expr1值.
sum(ifnull(列名,0.00)+ifnull(列名,0.00))

avg()函数

avg()函数 可以用来计算查询数据的平均值
示例:

1.查询所有学生数学成绩的平均值
select avg(math) from student;
2。查询所有成绩的平均值
(2)select avg(ifnull(math,0.0) + ifnull(english,0.0) + ifnull(chinese,0.0)) from student;

max()/min()函数

max()/min()函数 可以用来计算查询数据的最大值和最小值
示例:
查询班级数学最高分和最低分
select max(math),min(math) from student;

总结

以上就是对Mysql -聚合函数简介的相关介绍,大家有什么问题可以给博主留言。

结尾

腹有诗书气自华,最是书香能致远。

Responses