✔1.node.js初体验windows ✔2.commonjs-回顾ES6模块化 ✔3.commonjs的语法介绍 ✔4.commonjs和ES6 Module的区别 ✔5.Bug分类 ✔6.node.js和前端js的区别 ✔7.左关联 ✔8.聚合函数 ✔9.【案例】统计上班时间 ✔10.数据库的索引 ✔11.索引的分类 ✔12.查询数学成绩比语文成绩高的学生 ✔13.查询平均成绩大于80分的学生 ✔14.学生总成绩排序 |
|
编程目标:请给 “第一实验小学” 一年级一班的同学,按照总成绩进行倒序排序。
编程思路:
具体实现方式如下:
1.通过 JOIN 子句将学校表(school)、年级表(grade)、班级表(class)、学生表(student)以及成绩表(score)进行连接。
2.使用 WHERE 子句筛选出学校名为"第一实验小学",年级名为"一年级",班级名为"一班"的学生。
3.使用 GROUP BY 子句按照学生 ID 进行分组,计算每个学生的总成绩。
4.使用 SUM 函数将每个学生的分数进行求和。
5.使用 ORDER BY 子句按照总成绩从高到低的顺序对学生成绩进行排序。
最终查询结果包含了每个学生的姓名、班级名、总成绩等信息,并按照总成绩从高到低的顺序进行排列。
select s.school_name,g.grade_name, c.class_name,st.student_name, sum(sc.score) sum_score from school s join grade g on s.id = g.school_id join class c on g.id = c.grade_id join student st on st.class_id = c.id join score sc on st.id = sc.student_id where s.school_name = "第一实验小学" and g.grade_name = "一年级" and c.class_name = "一班" group by sc.student_id order by sum_score desc
运行结果: