为了账号安全,请及时绑定邮箱和手机立即绑定

【备战春招】第14天+MySQL刷题-03

标签:
测试
模块名
描述
课程名称
全能软件测试工程师
课程章节
MySQL刷题
打卡知识进程
知识进程:14 / 21
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.学生总成绩排序
主讲老师
大周
学习开始时间
2023.02.19 22:20
学习结束时间
2023.02.19 22:48
总计时
28 min
课程收获/主要内容/编程目标
学生总成绩排序
学习感受/感想/领悟(心得)
我应该去工作。

编程目标:请给 “第一实验小学” 一年级一班的同学,按照总成绩进行倒序排序。
编程思路:
具体实现方式如下:

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

运行结果:

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消