sql面试50题------(21-30)
2024-10-15 07:50:01
21、查询不同老师所教不同课程平均分从高到低显示
以课程为主题:两表联合,以课程分组,求平均值(假如不同的老师教同一门课,这种情况不予考虑)
select a.c_id '课程号',b.c_name '课程名', avg(a.s_score) '平均分'
from score as a
inner JOIN course as b
on a.c_id = b.c_id
group by a.c_id
order by avg(a.s_score) desc
以老师为主题
- 需要三表联合,老师进行分组。再次考虑平均分
select t.t_id,t.t_name,c.c_name,avg(s.s_score)
from teacher as t
inner join course as c
on t.t_id = c.c_id
inner join score as s
on c.c_id = s.c_id
group by t.t_id
order by avg(s.s_score) desc
23、使用分段[100,85),[85,70),[70,60),[<60] 来统计各科成绩,分别统计各分数段人数:课程ID和课程名称
- 对课程号分组,使用case when来判断
select s.c_id '课程号' ,c.c_name '课程名称',
sum(case when s.s_score <= 100 and s.s_score > 85 then 1 else 0 End) as '[100,85)',
count(case when s.s_score <= 85 and s.s_score > 70 then 1 else NULL End) as '[85,70)',
sum(case when s.s_score <= 70 and s.s_score > 60 then 1 else 0 End) as '[70,60)',
sum(case when s.s_score < 60 then 1 else 0 End) as '[< 60)'
from score as s
INNER JOIN course as c
on s.c_id = c.c_id
group by c.c_id
24、查询学生平均成绩及其名次
select st.s_id,st.s_name,avg(s.s_score),row_number() OVER(order by avg(s.s_score) desc)
from
student as st
inner JOIN score as s
on st.s_id = s.s_id
group by st.s_id
老铁关注一波我的公众号:主要写一些全栈开发相关的知识和面试题
最新文章
- ASP.NET SignalR入门
- 用CMake设置Visual Studio工程中第三方库
- web进阶之jQuery操作DOM元素&;&;MySQL记录操作&;&;PHP面向对象学习笔记
- 【编程题目】输出 1 到最大的 N 位数
- C语言回顾-函数和位运算
- Linux操作系统奥秘01-系统引导(MBR - 硬盘的0磁道)
- android手机配置hosts文件
- Flash cs6 如何从FLA 文件导出sound文件
- Js 实现 C# Format方法
- Linux系统学习笔记:文件描述符标志
- angular.js简介
- VUE2.0实现购物车和地址选配功能学习第三节
- Python爬虫:用BeautifulSoup进行NBA数据爬取
- 外部 Storage Provider - 每天5分钟玩转 Docker 容器技术(149)
- React引领未来用户界面——心莱科技内部直播分享会
- 吴恩达机器学习笔记43-SVM大边界分类背后的数学(Mathematics Behind Large Margin Classification of SVM)
- Confluence 6 ";net.sf.hibernate.PropertyValueException: not-null"; 相关问题解决
- centos7安装Apache
- 运维利器万能的 strace
- oracle(三) SQL语句
热门文章
- MySQL之COUNT(*)性能到底如何?
- 故障案例 | lsof是怎么";影响";MySQL计算打开文件句柄数的
- Luogu4408 [NOI2003]逃学的小孩 (树的直径)
- ShardingSphere-JDBC实战
- kafka详解(一)--kafka是什么及怎么用
- 跟我学Python图像处理丨何为图像的灰度非线性变换
- 【设计模式】Java设计模式 -工厂模式
- Mac_VM_CentOS固定IP总结
- android 逆向 smali手写helloworld
- ViewBinding 与 Kotlin 委托双剑合璧