日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

MySQL基础之 统计函数总结

發(fā)布時間:2023/12/19 综合教程 22 生活家
生活随笔 收集整理的這篇文章主要介紹了 MySQL基础之 统计函数总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

五種統(tǒng)計函數(shù):count()、max()、avg()、min()、max()函數(shù)

count()函數(shù)

count()函數(shù)在進行計算的時候,是分情況進行計算的,主要是一下兩種

1、采用count(*)對表中的記錄進行統(tǒng)計,不管表字段中包含的是NULL值還是非NULL值,都會參與計算

2、而采用count(field)方式對表中的記錄進行統(tǒng)計,如果所在的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()函數(shù)

sum()函數(shù)實現(xiàn)統(tǒng)計指定字段值之和,在具體統(tǒng)計時將忽略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;    #會發(fā)現(xiàn)NULL值沒有參與計算
+------------+
| sum(grade) |
+------------+
|        459 |
+------------+
1 row in set (0.00 sec)

MAX()和MIN()函數(shù)

MAX函數(shù)和MIN函數(shù)會忽略值為NULL的數(shù)據(jù),但是不會忽略值為0的數(shù)據(jù)

在此不做舉例

針對沒有任何數(shù)據(jù)的表,這五種函數(shù)的返回值是什么呢?

舉例子:

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函數(shù)的返回值是0,其他的函數(shù)返回值都是NULL。

總結(jié)

以上是生活随笔為你收集整理的MySQL基础之 统计函数总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。