
运行结果:

3、count()函数
统计记录数,求每个班级的学生人数:
SELECT 班级, count(学号)FROM 学生成绩表GROUP BY 班级;
运行结果:

4、max()函数
取字段最大值,求每个班级的语文最高分:
SELECT 学号, max(语文分数)FROM 学生成绩表GROUP BY 学号;
运行结果:

5、min()函数
取字段最小值,求每个班级的语文最低分:

运行结果:

查询语句中where和having的条件用法where和having在查询语句中的作用都是条件限制
它们在查询语句中的位置是不一样的,而且限制的内容也不一样
1、所处位置不一样
在查询语句中where作为普通条件限制,它是在group by 之前
SELECT 班级, avg(语文分数) AS 语文平均分FROM 学生成绩表WHERE 英语分数>=60GROUP BY 班级
而having是一个过滤声明,是在查询返回结果集以后对查询结果进行的条件限制,位置是在group by 之后
SELECT 班级, avg(语文分数) AS 语文平均分FROM 学生成绩表WHERE 英语分数>=60GROUP BY 班级HAVING avg(语文分数)>=60;
2、后接内容不一样
在查询语句中where后面只能接普通条件,不能接聚合函数条件
所谓的聚合函数就是我们上一期提到的函数都可称为聚合函数
下面where后这样写是错误的:
SELECT 班级, avg(语文分数) AS 语文平均分FROM 学生成绩表WHERE avg(语文分数)>=60//错误GROUP BY 班级
在查询语句中having作为查询结果返回后的条件限制,需要接返回结果后的条件
下面having后这样写是错误的,因为返回结果已经不存在“英语分数”这个字段了:
SELECT 班级, avg(语文分数) AS 语文平均分FROM 学生成绩表WHERE 英语分数>=60GROUP BY 班级HAVING 英语分数>=60;//错误
3、运行结果不一样
在where后接的条件表示要在英语成绩及格的学生中进行统计
统计这些学生的语文成绩怎么样
从下面的结果可以看到:
在一班英语及格的学生中语文成绩并不好平均成绩没有达到及格线
而其它班级英语和语文成绩都较好 。

而having后加了个条件是avg(语文分数)>=60
推荐阅读
- 自动挡开车正确步骤图解 初学开车驾驶入门教程
- 万用表使用方法图解大全 12v及220v用哪个档及初学入门教程
- 国内为什么没有开源地理信息数据库
- 如何下载access
- cad大讲堂零基础入门教程 cad基础教程新手入门教程
- 常用的数据库软件有哪些
- 电脑excel表格入门教程 怎么在电脑上做表格全部教程
- wps表格新手教程 手机wps初学者入门教程
- ps图层混合模式入门教程 ps混合模式在哪里找
- 打印机零基础入门教程 打印机使用方法)
