五种统计函数:count()、max()、avg()、min()、max()函数

count()函数

count()函数在进行计算的时候,是分情况进行计算的,主要是一下两种

1、采用count(*)对表中的记录进行统计,不管表字段中包含的是NULL值还是非NULL值,都会参与计算

2、而采用count(field)方式对表中的记录进行统计,如果所在的field中包含有NULL值,将忽略NULL值。

举例所示:

mysql> select * from test1_1;          #可以看出来表中一共有6条记录,其中有条记录的name列包含NULL值
+----+--------+
| id | name |
+----+--------+
| 1 | 超峰 |
| 2 | b |
| 3 | c |
| 4 | a |
| 5 | chen |
| 6 | NULL |
+----+--------+
6 rows in set (0.00 sec) mysql> select count(*) from test1_1;
+----------+
| count(*) |
+----------+
| 6 |
+----------+
1 row in set (0.00 sec) mysql> select count(name) from test1_1; #NULL值将不参与计算
+-------------+
| count(name) |
+-------------+
| 5 |
+-------------+
1 row in set (0.00 sec)

sum()函数

sum()函数实现统计指定字段值之和,在具体统计时将忽略NULL值,但是不会忽略0值

举例子:

mysql> select * from test1_1;
+----+--------+-------+
| id | name | grade |
+----+--------+-------+
| 1 | 超峰 | 99 |
| 2 | b | 90 |
| 3 | c | 95 |
| 4 | a | 85 |
| 5 | chen | 90 |
| 6 | NULL | 90 |
+----+--------+-------+
6 rows in set (0.00 sec) mysql> select sum(grade) from test1_1;
+------------+
| sum(grade) |
+------------+
| 549 |
+------------+
1 row in set (0.00 sec) mysql> update test1_1 set grade=NULL where id=6;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from test1_1;
+----+--------+-------+
| id | name | grade |
+----+--------+-------+
| 1 | 超峰 | 99 |
| 2 | b | 90 |
| 3 | c | 95 |
| 4 | a | 85 |
| 5 | chen | 90 |
| 6 | NULL | NULL |
+----+--------+-------+
6 rows in set (0.00 sec) mysql> select sum(grade) from test1_1; #会发现NULL值没有参与计算
+------------+
| sum(grade) |
+------------+
| 459 |
+------------+
1 row in set (0.00 sec)

MAX()和MIN()函数

MAX函数和MIN函数会忽略值为NULL的数据,但是不会忽略值为0的数据

在此不做举例

针对没有任何数据的表,这五种函数的返回值是什么呢?

举例子:

mysql> select * from test1_5;
Empty set (0.00 sec) mysql> select count(*),avg(id),sum(id),max(id),min(id) from test1_5;
+----------+---------+---------+---------+---------+
| count(*) | avg(id) | sum(id) | max(id) | min(id) |
+----------+---------+---------+---------+---------+
| 0 | NULL | NULL | NULL | NULL |
+----------+---------+---------+---------+---------+
1 row in set (0.00 sec)

看的出来只有count函数的返回值是0,其他的函数返回值都是NULL。

最新文章

  1. jquery.validate:
  2. Python的神奇方法指南
  3. (C# Debug)A first chance exception of type 'System.ArgumentException' occurred in System.Data.dll
  4. psutil模块安装指南(win与linux)
  5. Codeforces Round #335 (Div. 2) C. Sorting Railway Cars 连续LIS
  6. Android基础_3 Activity相对布局
  7. 服务器部署_nginx的host not found in upstream "tomcat_www.bojinne" 错误解决办法
  8. WPF样式和资源2
  9. 杂文:AlphaGo 与 Alan Turing
  10. ListView 行高设置不起作用
  11. leetcode第27题--Implement strStr()
  12. 最近用到mysql和mybatis结合常用的知识点坐下整理
  13. hibernate异常:org.hibernate.NonUniqueObjectException
  14. linux 下oracle导入dmp文件
  15. 基于jQuery-ui实现多滑块slider
  16. ionic3安装
  17. JavaScript拼接html字符串时截断问题
  18. Cocos Creator的类别
  19. maven五:查找jar包坐标,选择jar包版本
  20. picker

热门文章

  1. Java的HashCode,Equal和==
  2. JBOSS Spring Web
  3. postgersql服务启动不了 FATAL: the database system is starting up
  4. C#--用户密码处理------混淆密码加密
  5. java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/animation/AnimatorCompatHelper
  6. linux系统编程:自己动手写一个cp命令
  7. 小程序通过用户授权获取手机号之getPhoneNumber
  8. ThinkPHP5事务回滚
  9. 设计模式(20)--State(状态模式)--行为型
  10. Webpack 常用命令总结以及常用打包压缩方法