摘要: 题目41 :按照出生日期来算,当前月日 < 出生年月的月日则,年龄减一(就是根据出生日期算,每个人的年龄) 分析:要引入时间差函数TIMESTAMPDIFF , 时间差函数TIMESTAMPDIFF 的用法: TIMESTAMPDIFF函数,有参数设置,可以精确到天(DAY)、小时(HOUR),分钟 阅读全文
posted @ 2019-08-19 17:50 初学者,方圆几里 阅读(1083) 评论(0) 推荐(0) 编辑
摘要: 题目38:检索至少选修两门课程的学生学号 SELECT studentid ,COUNT(courseid) AS a FROM student_score GROUP BY studentid HAVING a >=2 题目39:查询选修了全部课程的学生信息 GROUP BY studentid 阅读全文
posted @ 2019-08-19 17:08 初学者,方圆几里 阅读(10479) 评论(0) 推荐(0) 编辑
摘要: 题目36:查询每门功成绩最好的前两名 分析:先用自己交自己,条件为a.courseid = b.courseid and a.score<b.score,其实就是列出同一门课内所有分数比较的情况。 通过a.studentid和a.courseid可以联合确定这个同学的这门课的这个分数究竟比多少个其他 阅读全文
posted @ 2019-08-19 17:03 初学者,方圆几里 阅读(10649) 评论(3) 推荐(1) 编辑
摘要: 题目34:成绩有重复的情况下,查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成绩 分析:上一题 33 是在成绩不重复的情况下 查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成绩 这两题有什么区别? 有区别! 33 题成绩不重复,得到的结果就是唯一的,可以直接limit 1 阅读全文
posted @ 2019-08-19 16:18 初学者,方圆几里 阅读(4188) 评论(0) 推荐(0) 编辑
摘要: 题目32:求每门课程的学生人数 分析: 这个直接是group by 然后 count SELECT courseid, COUNT(studentid) FROM student_score GROUP BY courseid 题目33:查询选修「张三」老师所授课程的学生中,成绩最高的学生信息及其成 阅读全文
posted @ 2019-08-19 15:16 初学者,方圆几里 阅读(3504) 评论(0) 推荐(0) 编辑
摘要: 题目30:查询存在不及格的课程 分析:直接 查询 student_score score<60 得到courseid 这样的话 courseid会有很多重复的,要用到distinct 关键字、 SELECT DISTINCT student_course.coursename FROM studen 阅读全文
posted @ 2019-08-19 14:51 初学者,方圆几里 阅读(2886) 评论(0) 推荐(0) 编辑
摘要: 题目:查询所有学生的课程及分数情况(存在学生没成绩,没选课的情况) 分析: 这个应该是student表 和 student_score表进行联合查询,因为存在学生没成绩,没选课的情况,所以要用left join SELECT student.*,student_score.courseid ,stu 阅读全文
posted @ 2019-08-19 14:14 初学者,方圆几里 阅读(5006) 评论(0) 推荐(0) 编辑
摘要: 题目:26:查询平均成绩大于等于 85 的所有学生的学号、姓名和平均成绩 分析:这个应该是根据student 进行分组 group by 再根据 having >= 85 进行过滤,然后在关联student 信息表,拿到学生的基本信息 SELECT student.id, student.stden 阅读全文
posted @ 2019-08-19 11:58 初学者,方圆几里 阅读(9409) 评论(0) 推荐(0) 编辑
摘要: 题目:查询每门课程的平均成绩,结果按平均成绩降序排列,平均成绩相同时,按课程编号升序排列 刚开始写的sql 比较简单: SELECT courseid, AVG(score) as a FROM student_score GROUP BY courseid ORDER BY a DESC, cou 阅读全文
posted @ 2019-08-19 11:46 初学者,方圆几里 阅读(18146) 评论(0) 推荐(0) 编辑