昨天一大清早,睡眼惺忪着就跑去陆家嘴某金融数据公司面一ETL 岗。多年的数据仓库经验,自认为面试ETL岗应该问题不大,熟知却在一道简单的SQL题上被卡住了。
题目大概是这样,有一张学生成绩表S, 含有成绩,学生好,科目, 和分数(grade, student_id, subject, score) , 现在要求查出每个年级总成绩排名在第10到第20 的学生ID。
这样的问题,大家再熟悉不过了,心中也立马有了答案:
SELECT
grade ,
student_id
FROM
(
SELECT
grade ,
student_id row_number() over (partition BY grade ORDER BY total_score DESC) AS rank
FROM
(
SELECT
grade ,
SQL面试题:无高级函数查询成绩排名10-20学生

本文讲述了作者在面试中遇到的一道SQL题目,要求在没有limit、first等高级函数的情况下,查询成绩排名在第10到第20的学生。作者分享了自己的思考过程,提出了一种利用自关联解决的方法,并表达了对其他四种解决方案的探索渴望。
最低0.47元/天 解锁文章
239





