题解 | #得分不小于平均分的最低分#

得分不小于平均分的最低分

https://www.nowcoder.com/practice/3de23f1204694e74b7deef08922805b2

思路:嵌套查询
题干:找到SQL试卷得分不小于该类试卷平均得分的用户最低得分
分步查询法:
1)找 SQL 试卷,代码如下:
SELECT exam_id
FROM examination_info
WHERE tag = 'SQL';
2)该类试卷(SQL试卷)的平均分,用聚合函数 AVG(score) 实现,伪代码如下:
SELECT AVG(score)
FROM exam_record
WHERE exam_id IN (sql试卷的exam_id);
注意:由于 SQL 试卷 的exam_id有很多种,所以这里用了 IN 关键字。 
3)SQL试卷且不小于(大于等于)该试卷平均分的最低分,用聚合函数 MIN(score) 来实现,伪代码如下:
SELECT MIN(score)
FROM exam_record
WHERE score >= (sql试卷平均分)
    AND exam_id IN (sql试卷的exam_id);
在这里,基本已经打好框架实现了题目要求,现在,将他们组合起来吧,其结果就是:
SELECT MIN(score)
FROM exam_record 
WHERE score >= (SELECT AVG(score)
                FROM exam_record 
                WHERE exam_id IN (SELECT exam_id
                                  FROM examination_info
                                  WHERE tag = 'SQL'))
    AND exam_id IN (SELECT exam_id
                    FROM examination_info
                    WHERE tag = 'SQL');
所以,通过这道题,我们可以学会聚合函数MIN()、AVG()、IN关键字的使用,了解嵌套查询的基本思路。




全部评论

相关推荐

2025-12-13 14:51
已编辑
井冈山大学 算法工程师
龙虾x:算法比你强的没有你美,比你美的…..算了已经没有比你美的了
工作两年想退休了
点赞 评论 收藏
分享
白火同学:1、简历可以浓缩成一页,简历简历先要“简”方便HR快速过滤出有效信息,再要“历”用有效信息突出个人的含金量。 2、教育背景少了入学时间~毕业时间,HR判断不出你是否为应届生。 3、如果你的平台账号效果还不错,可以把账号超链接或者用户名贴到对应位置,一是方便HR知道你是具体做了什么内容的运营,看到账号一目了然,二是口说无凭,账号为证,这更有说服力。
面试被问期望薪资时该如何...
点赞 评论 收藏
分享
评论
5
6
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务