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 ;

总结

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

相关推荐
-SOLO-几秒前
备份apk 工具
android
weixin_471383037 分钟前
Taro-02-页面路由
前端·taro
星栈独行13 分钟前
Makepad 应用如何读文件、调接口、保存数据
前端·程序人生·ui·rust·github
IT_陈寒1 小时前
Vite热更新失效?可能你在用Windows
前端·人工智能·后端
tedcloud1232 小时前
taste-skill部署教程:打造个性化AI推荐工作流
服务器·前端·人工智能·系统架构·edge
xinhuanjieyi2 小时前
html修复游戏种太阳错误
前端·游戏·html
林希_Rachel_傻希希2 小时前
学React治好了我的焦虑症,1小时速通React 前20分钟。
前端·javascript·面试
Cache技术分享2 小时前
435. Java 日期时间 API - Clock 灵活获取当前时间
前端·后端
独泪了无痕4 小时前
Vue3中防御XSS攻击的“特效药”-DOMPurify
前端·vue.js·安全
小小19924 小时前
idea 配置less转化为css
前端·css·less