您的位置:首页 > 职场人生

group by @ having的使用 推荐

2007-01-08 16:02 435 查看
使用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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息