MySQL高阶1988-找出没所学校的最低分数要求

目录

题目

准备数据

分析数据

总结


题目

每年,学校会公布学生申请所需的最低分数要求。学校根据所有学生的考试成绩来决定其最低分数要求。

  1. 学校希望确保即使 每 一个满足分数要求的学生都申请该学校,学校也有足够的能力接纳每一个学生。
  2. 学校也希望 尽可能多的学生能申请该学校。
  3. 学校 必须 使用在 Exam 表中的 score 来作为最低分数要求。

编写一个解决方案,报告每所学校的 最低分数要求 。如果同时有多个 score 值满足上述要求,则选择其中 最小的 一个。如果数据不足以决定 最低分数要求 ,那么输出 -1。

返回的结果表可以按 任意顺序排序。

准备数据

sql 复制代码
Create table If Not Exists Schools (school_id int, capacity int)
Create table If Not Exists Exam (score int, student_count int)
Truncate table Schools
insert into Schools (school_id, capacity) values ('11', '151')
insert into Schools (school_id, capacity) values ('5', '48')
insert into Schools (school_id, capacity) values ('9', '9')
insert into Schools (school_id, capacity) values ('10', '99')
    Truncate table Exam
insert into Exam (score, student_count) values ('975', '10')
insert into Exam (score, student_count) values ('966', '60')
insert into Exam (score, student_count) values ('844', '76')
insert into Exam (score, student_count) values ('749', '76')
insert into Exam (score, student_count) values ('744', '100')

schools表

exam表

分析数据

sql 复制代码
select
    school_id,ifnull(min(score),-1) as score
    from schools s left join exam e on capacity >= student_count
group by school_id ;

总结

多表连接,并不局限于条件等于

相关推荐
JosieBook6 分钟前
【数据库】MySQL 实战精通系列 · 第11篇:Redis 缓存与 MySQL 一致性实战
数据库·mysql·缓存
zach13 分钟前
Vue/React SPA 打包部署后,子路由刷新 401 未登录问题彻底解决
前端·nginx·next.js
旋生万物14 分钟前
素数螺旋映射 $z_n=n^{1+i}$ 的角分布统计检验与零模型对比
大数据·前端·人工智能·算法·云原生·螺旋生成论·螺旋相位
亿元程序员16 分钟前
游戏引擎都没用!纯AI又上线了一款蚂蚁搬家小游戏!
前端
福兮说23 分钟前
JS 正则的六个坑:带 g 的 test() 一真一假、空匹配死循环、replace 里的 $
开发语言·前端·javascript·正则表达式
生如夏花爱学习2296625 分钟前
贴心使用的语音生活小助手
android
码艺-Alimjan27 分钟前
Web 网站打包桌面应用的另一种方式,超级简单(C# exe 33Kb)
开发语言·前端·c#
flash俊杰33 分钟前
时间线到 filter_complex:把编辑文档编译成 FFmpeg 滤镜图
前端
Tyrvision44 分钟前
新品发布前,三维动画怎么排期才不挤在最后一周?
前端
mmsx1 小时前
Android 状态保持:进程被杀、旋屏与后台任务的存活术
android·kotlin