题解 | #试卷完成数同比2020年的增长率及排名变化#

试卷完成数同比2020年的增长率及排名变化

https://www.nowcoder.com/practice/13415dff75784a57bedb6d195262be7b

select t1.tag,
    exam_cnt_20,exam_cnt_21,
    concat(round((exam_cnt_21-exam_cnt_20)*100/exam_cnt_20,1),'%') as growth_rate,
    rank_20 as exam_cnt_rank_20,
    rank_21 as exam_cnt_rank_21,
    cast(rank_21 as signed)-cast(rank_20 as signed) as rank_delta 
from (
    select tag,exam_cnt_20,
        rank() over (order by exam_cnt_20 desc) as rank_20 
    from (
        select tag,count(submit_time) as exam_cnt_20
        from examination_info as ei,exam_record as er
        where er.exam_id=ei.exam_id
            and year(start_time)=2020
            and submit_time is not null
            and month(start_time)<=6
        group by tag
    ) as t1_1
) as t1
join (
    select tag,exam_cnt_21,
        rank() over (order by exam_cnt_21 desc) as rank_21
    from (
        select tag,count(submit_time) as exam_cnt_21
        from examination_info as ei,exam_record as er
        where er.exam_id=ei.exam_id
            and year(start_time)=2021 
            and submit_time is not null
            and month(start_time)<=6
        group by tag
    ) as t2_1
) as t2
on t1.tag=t2.tag
group by tag
order by growth_rate desc,exam_cnt_rank_21 desc;

全部评论

相关推荐

11-01 20:03
已编辑
门头沟学院 算法工程师
Amazarashi66:这种也是幸存者偏差了,拿不到这个价的才是大多数
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务