mysql中统计数据的方法
小编给大家分享一下mysql中统计数据的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
mysql中统计数据的方法:1、使用MAX()函数统计某个字段最大数据;2、使用MIN()函数统计某个字段最小数据;3、使用COUNT()函数统计查询结果的行数;4、使用SUM()函数统计数据之和;5、使用AVG()函数统计平均数。
MySQL MAX() 函数
MySQL MAX() 函数是用来返回指定列中的最大值。
为了方便理解,首先创建一个学生成绩表 tb_students_score,学生成绩表的数据内容如下所示。
mysql> use test_db;
Database changed
mysql> SELECT * FROM tb_students_score;
+--------------+---------------+
| student_name | student_score |
+--------------+---------------+
| Dany | 90 |
| Green | 99 |
| Henry | 95 |
| Jane | 98 |
| Jim | 88 |
| John | 94 |
| Lily | 100 |
| Susan | 96 |
| Thomas | 93 |
| Tom | 89 |
+--------------+---------------+
10 rows in set (0.13 sec)
【实例 1】在 tb_students_score 表中查找最高的成绩,输入的 SQL 语句和执行结果如下所示。
mysql> SELECT MAX(student_score)
-> AS max_score
-> FROM tb_students_score;
+-----------+
| max_score |
+-----------+
| 100 |
+-----------+
1 row in set (0.06 sec)
由运行结果可以看到,MAX() 函数查询出 student_score 字段的最大值为 100。
MAX() 函数不仅适用于查找数值类型,也可应用于字符类型。
【实例 2】在 tb_students_score 表中查找 student_name 的最大值,输入的 SQL 语句和执行结果如下所示。
mysql> SELECT MAX(student_name)
-> AS max_name
-> FROM tb_students_score;
+----------+
| max_name |
+----------+
| Tom |
+----------+
1 row in set (0.03 sec)
由运行结果可以看到,MAX() 函数可以对字母进行大小判断,并返回最大的字符或者字符串值。
注意:MAX() 函数还可以返回任意列中的最大值,包括返回字符类型的最大值。在对字符类型的数据进行比较时,按照字符的 ASCII 码值大小进行比较,从 a~z,a 的 ASCII 码最小,z 的最大。在比较时,先比较第一个字符,如果相等,继续比较下一个字符,一直到两个字符不相等或者字符结束为止。例如,b 与 t 比较时,t 为最大值;bcd 与 bca 比较时,bcd 为最大值。
MySQL MIN() 函数
MySQL MIN() 函数是用来返回查询列中的最小值。
为了便于理解,需要用到在上一节讲 MAX() 函数时创建的数据表 tb_students_score。
【实例】在 tb_students_score 表中查找最低的成绩,输入的 SQL 语句和执行结果如下所示。
mysql> SELECT MIN(student_score)
-> AS min_score
-> FROM tb_students_score;
+-----------+
| min_score |
+-----------+
| 88 |
+-----------+
1 row in set (0.00 sec)
由结果可以看到,MIN() 函数查询出 student_score 字段的最小值为 88。
提示:MIN() 函数与 MAX() 函数类似,不仅适用于查找数值类型,也可应用于字符类型。
MySQL COUNT() 函数
MySQL COUNT() 函数统计数据表中包含的记录行的总数,或者根据查询结果返回列中包含的数据行数,使用方法有以下两种:
COUNT(*) 计算表中总的行数,无论某列有数值或者为空值。
COUNT(字段名)计算指定列下总的行数,计算时将忽略空值的行。
这里需要用到以下在介绍 MAX() 函数时创建的表 tb_students_score 。
【实例】查询 tb_students_score 表中总的行数,输入的 SQL 语句和执行结果如下所示。
mysql> SELECT COUNT(*)
-> AS students_number
-> FROM tb_students_score;
+-----------------+
| students_number |
+-----------------+
| 10 |
+-----------------+
1 row in set (0.03 sec)
由查询结果可以看到,COUNT(*) 返回 tb_students_score 表中记录的总行数,无论值是什么。返回的总数的名称为 students_number。
提示:在计算总数的时候对待 NULL 值的方式是,指定列的值为空的行被 COUNT() 函数忽略,但若不指定列,而在 COUNT() 函数中使用星号“*”,则所有记录都不忽略。
MySQL SUM()函数
MySQL SUM() 是一个求总和的函数,返回指定列值的总和。
SUM() 函数是如何工作的?
如果在没有返回匹配行 SELECT 语句中使用 SUM 函数,则 SUM 函数返回 NULL,而不是 0。
DISTINCT 运算符允许计算集合中的不同值。
SUM 函数忽略计算中的 NULL 值。
这里需要用到以下在介绍 MAX() 函数时创建的表 tb_students_score 。
【实例】在 tb_students_score 表中计算学生成绩的总分,输入的 SQL 语句和执行结果如下所示。
mysql> SELECT SUM(student_score)
-> AS score_sum
-> FROM tb_students_score;
+-----------+
| score_sum |
+-----------+
| 942 |
+-----------+
1 row in set (0.00 sec)
由查询结果可以看到,SUM() 函数返回学生的所有成绩之和为 942。
提示:SUM() 函数在计算时,忽略列值为 NULL 的行。
MySQL AVG() 函数
MySQL AVG() 函数通过计算返回的行数和每一行数据的和,求得指定列数据的平均值。
这里需要用到以下在介绍 MAX() 函数时创建的表 tb_students_score 。
【实例】在 tb_students_score 表中,查询所有学生成绩的平均值,输入的 SQL 语句和执行结果如下所示。
mysql> SELECT AVG(student_score)
-> AS score_avg
-> FROM tb_students_score;
+-----------+
| score_avg |
+-----------+
| 94.2000 |
+-----------+
1 row in set (0.03 sec)
提示:使用 AVG() 函数时,参数为要计算的列名称,若要得到多个列的平均值,则需要在每一列都使用 AVG() 函数。
以上是mysql中统计数据的方法的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341