使用group by 和having之前要记住:
1、当select子句中使用了聚合函数时,需使用group by进行分组
2、如果使用了group by进行分组,并且要加条件只能使用having子句
使用group by 和having之前要记住:
1、当select子句中使用了聚合函数时,需使用group by进行分组
2、如果使用了group by进行分组,并且要加条件只能使用having子句
--创建一个这样的表
/*
成绩表
编号 姓名 成绩 专业 班级 籍贯
1 李伟 70 通信 二班 河北
2 王明 80 物理 一班 北京
3 张倩 77 英语 一班 北京
4 刘飞 89 英语 二班 河北
5 黄明 78 物理 二班 天津
6 周郁 89 通信 一班 河北
7 仁大 90 通信 二班 天津
8 青花 99 数学 一班 天津
*/
--例1:根据籍贯算出同一籍贯的最大成绩
select 籍贯,max(成绩)
from 成绩表
group by 籍贯
--例2:根据班级算出每班的平均成绩
select 班级,avg(成绩)
from 成绩表
group by 班级
--例3:根据专业算出每个专业的最小成绩
select 专业,min(成绩)
from 成绩表
group by 专业
--例4:根据籍贯算出同一籍贯有多少学员
select 籍贯,count(籍贯)
from 成绩表
group by 籍贯
--having的使用查询平均成绩大于等于70
select 专业,avg(成绩) as 平均成绩
from 成绩表
group by 专业
having avg(成绩) >=70
上一篇:多表查询例
使用说明:select 列x[,聚合函数] from 表名 where 筛选条件 group by 列x(是select那里的、h...
主要讲了group by 与having的结合应用。
---- 动动手指关注我!或许下次你又能在我这里找到你需要的答案!ZZZZW与你一起学习,一起进步!
举报文章
请选择举报类型
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M