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 ;

总结

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

相关推荐
人生游戏牛马NPC1号5 分钟前
学习 Android (二十二) 学习 OpenCV (七)
android·opencv·学习
李游Leo5 分钟前
npm / yarn / pnpm 包管理器对比与最佳实践(含国内镜像源配置与缓存优化)
前端·缓存·npm
Mintopia16 分钟前
轻量化AIGC模型在移动端Web应用的适配技术
前端·javascript·aigc
Mintopia16 分钟前
Next.js CI/CD 基础(GitHub Actions)
前端·javascript·next.js
程序新视界1 小时前
创建数据库索引时,要考虑一下这5个维度
mysql
Digitally1 小时前
比较 iPhone:全面比较 iPhone 17 系列
android·ios·iphone
被开发耽误的大厨1 小时前
鸿蒙项目篇-22-项目功能结构说明-写子页面和导航页面
android·华为·harmonyos·鸿蒙
Wiktok2 小时前
pureadmin的动态路由和静态路由
前端·vue3·pureadmin
devii662 小时前
html.
前端
掘金安东尼2 小时前
为什么浏览器要限制 JavaScript 定时器?
前端·javascript·github