每日一题-20(找出每所学校最低分数线)

题20

根据下表编写SQL查询以报告每个学校的最低分数要求。如果有多个分数值满足上述条件,请选择最小值。如果输入数据不足以确定分数,则报告-1。

在这里插入图片描述

  • Schools表中school_id是此表的主键。capacity包含一些学校的容纳能力信息,容量是学校能接受的最大学生人数;
  • Exam表中score是主键,student count表示有至少在考试中获得分数的学生数量。

解题思路:
(1)采用左连接连接两表,连接条件容量需大于分数段学生数量;
(2)取最低分数,如果为null,则输出-1。
代码如下:

select school_id, ifnull(min(score), -1) as score 
from Schools s 
left join Exam e 
on  capacity >= student_count 
group by school_id;

Guess you like

Origin blog.csdn.net/Txixi/article/details/121489025