mysql中求平均值最高,或者count()最高最小等等……是有分组的。求教,谢...

发布网友 发布时间:2022-04-23 17:34

我来回答

3个回答

懂视网 时间:2022-04-07 19:24

(推荐教程:mysql视频教程)

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  |   |
+--------------+---------------+
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() 函数是用来返回查询列中的最小值。

【实例】在 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 AVG函数:求平均值

MySQL AVG() 函数通过计算返回的行数和每一行数据的和,求得指定列数据的平均值。

【实例】在 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() 函数。

热心网友 时间:2022-04-07 16:32

给你举个例子,你自己按照你所在当前表的情况来进行查询。

例如:

select 列1 avg(列2) as xz from 表 group by 列1 order by xz desc ;

解释:
avg()函数是求某列的平均值,group by是对某列分组,按照SQL标准,分组要和聚合函数一起配合使用才有意义[虽然在mysql中不会报错]。order by xz desc表示的是对xz进行降序,就可以把最高的平均值算出来。

热心网友 时间:2022-04-07 17:50

没描述清楚,平均值哪有最高,avg()函数是求平均值,Max()最大值,Min()最小值,count()求总数,group by 分组。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com