题目32:求每门课程的学生人数 分析: 这个直接是group by 然后 count SELECT courseid, COUNT(studentid) FROM student_score GROUP BY courseid 题目33:查询选修「张三」老师所授课程的学生中 ...
题目 :成绩有重复的情况下,查询选修 张三 老师所授课程的学生中,成绩最高的学生信息及其成绩 分析:上一题 是在成绩不重复的情况下查询选修 张三 老师所授课程的学生中,成绩最高的学生信息及其成绩 这两题有什么区别 有区别 题成绩不重复,得到的结果就是唯一的,可以直接limit 拿出来 但是:这一题目,成绩有重复,再用limit 就会漏 思路:我们找到 选修 张三 老师所授课程的学生中,成绩最高的分 ...
2019-08-19 16:18 0 1048 推荐指数:
题目32:求每门课程的学生人数 分析: 这个直接是group by 然后 count SELECT courseid, COUNT(studentid) FROM student_score GROUP BY courseid 题目33:查询选修「张三」老师所授课程的学生中 ...
-- 查询选修"张三"老师所授课程的学生中,成绩最高的学生信息及其成绩 -- 2019/05/05 ...
题目:按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩 分析:第一步应该是拿到平均分 拿到平均分后 再怎么拿学生 课程 和成绩呢? left join 一下吧 sql: 如下: SELECT student_score.*, a FROM student_score LEFT ...
题目36:查询每门功成绩最好的前两名 分析:先用自己交自己,条件为a.courseid = b.courseid and a.score<b.score,其实就是列出同一门课内所有分数比较的情况。 通过a.studentid和a.courseid可以联合确定这个同学 ...
题目:查询所有学生的课程及分数情况(存在学生没成绩,没选课的情况) 分析: 这个应该是student表 和 student_score表进行联合查询,因为存在学生没成绩,没选课的情况,所以要用left join SELECT student. ...
题目:查询在 SC 表存在成绩的学生信息 分析:查询在 SC 表存在成绩的学生? 是值在 SC 表有记录的学生id 都算吗? 我这里理解的是在 SC 表中分数不为0 的学生id 方法一:比较直接的想法 在 SC 表中查到分数不为0 的学生 去重,然后再join 下student 表 ...
题目:查询所有同学的学生编号、学生姓名、选课总数、所有课程的成绩总和 分析:看到总数 应该是要用count(course) ,成绩总和 应该是sum(score) 这些聚合函数,因为要知道每个人的 因此要以人分组 group by studentid 因为要知道学生 ...
题目:查询平均成绩大于等于 60 分的同学的学生编号和学生姓名和平均成绩 这里提到平均分 ,要用到avg 按照学生分组,再求平均分,这里应该是考察group by 与聚合函数的使用 大于60分应该是按照分组后筛选的结果要用having group by 与聚合函数 having ...