题解 | #注册当天就完成了试卷的名单第三页#

注册当天就完成了试卷的名单第三页

http://www.nowcoder.com/practice/718d36d2667b48faa2168b6c1521816a

注意: 是找工作为算法的, 在注册当天完成算法试卷的人, 按所有考试得分的最高分排名, 这是个易错点, 直接根据 job='算法', tag='算法', 过滤score列会得到算法考试的最高分, 而不是所有考试的最高分.

select aa.uid,
    aa.level,
    aa.register_time,
    max(max_score)
from user_info aa
join (
    select *,
    	# 这里是个比较巧妙的地方,通过窗口函数构造一列, 该列为所有用户考试的最高分
        max(score) over(partition by uid) max_score
    from exam_record
) bb on aa.uid=bb.uid
join examination_info cc on bb.exam_id=cc.exam_id
where job='算法'
    and datediff(aa.register_time, bb.submit_time) = 0
    and cc.tag='算法'
group by aa.uid, aa.level, aa.register_time
order by max_score DESC
limit 6, 3
全部评论

相关推荐

点赞 评论 收藏
分享
评论
4
2
分享

创作者周榜

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