题解 | #试卷完成数同比2020年的增长率及排名变化#
试卷完成数同比2020年的增长率及排名变化
https://www.nowcoder.com/practice/13415dff75784a57bedb6d195262be7b
with a as (select tag, year(start_time) as start_year, count(submit_time) as exam_cnt, rank() over(partition by year(start_time) order by count(submit_time) desc) as exam_cnt_rank from examination_info as ei left join exam_record as er on ei.exam_id=er.exam_id where month(start_time)<=6 and (year(start_time)=2021 or year(start_time)=2020) group by year(start_time),tag having count(submit_time) !=0) select tag, sum(if(start_year=2020, exam_cnt,0)) as exam_cnt_20, sum(if(start_year=2021, exam_cnt,0)) as exam_cnt_21, concat(format((sum(if(start_year=2021, exam_cnt,0))-sum(if(start_year=2020, exam_cnt,0)))/sum(if(start_year=2020, exam_cnt,0))*100,1),'%' )as growth_rate, sum(if(start_year=2020, exam_cnt_rank,0)) as exam_cnt_rank_20, sum(if(start_year=2021, exam_cnt_rank,0)) as exam_cnt_rank_21, sum(if(start_year=2021, exam_cnt_rank,0))-sum(if(start_year=2020, exam_cnt_rank,0)) as rank_delta from a group by tag having count(start_year)=2 order by growth_rate desc,exam_cnt_rank_21 desc