1. 汇总分析
函数的3个功能:①功能;②输入(参数);③输出(返回值)
查询课程编号为“0002”的总成绩:
查询选了课程的学生人数:
2.分组
sql分组:group by
group by 实现数据分组,where在前,group by在后,group by紧跟在where最后一个限制条件后面,不能被夹在where限制条件之间。where在前,group by在后的原因:要先用where过滤掉不进行分组的数据,然后在对剩下满足条件的数据进行分组。
查询各科成绩最高和最低的分:
查询每门课程被选修的学生人数:
查询男生、女生人数:
3.对分组结果指定条件
having
having是在分好组后找出特定的分组,通常是以筛选聚合函数的结果。having必须在group by 后面,使用了having必须使用group by,但是使用group by 不一定使用having。
查询平均成绩大于60分学生的学号和平均成绩:
查询至少选修两门课程的学生学号:
查询同名同姓学生名单并统计同名人数:
4.用sql解决业务问题
计算没门课程的平均成绩并且平均成绩大于等于80分:
select 查询结果[没门课程的课程号:分组,平均成绩:avg(成绩)]
from 从哪张表中查找数据[成绩表:score]
where 查询条件(没有)
group by分组[没门课程:按课程号分组]
having 对分组结果指定条件[平均成绩>=80];
5.对查询结果排序
order by
降序:desc从大到小 升序:asc从小到大
select 查询结果
from 从哪找表中查找数据
where 查询条件
group by 分组
having 对分组结果指定条件
order by 对查询结果排序
limit 从查询结果中取出指定行
运行顺序:from-where-group by-having-select-order by-limit
查询不及格的课程并按课程号从大到小排序:
查询每门课程的平均成绩,结果按平均成绩升序排序。平均成绩相同时,按课程号降序排序: