题解 | #试卷完成数同比2020年的增长率及排名变化#
试卷完成数同比2020年的增长率及排名变化
https://www.nowcoder.com/practice/13415dff75784a57bedb6d195262be7b
虽然优化很差,但浅显易懂😂
select t20.tag ,exam_cnt_20 , exam_cnt_21,
concat(round((exam_cnt_21 - exam_cnt_20)*100/exam_cnt_20,1),"%") growth_rate
,exam_cnt_rank_20
,exam_cnt_rank_21,
if(exam_cnt_rank_21 > exam_cnt_rank_20, exam_cnt_rank_21 - exam_cnt_rank_20, - (exam_cnt_rank_20 - exam_cnt_rank_21))
rank_delta
from
(
select tag,count(submit_time) exam_cnt_20,
rank() over(order by count(submit_time)desc) exam_cnt_rank_20
from examination_info ei join exam_record er using(exam_id)
where "2020"= year(submit_time) and date_format(submit_time,"%Y%m")<="202006"
group by tag
)t20 join
(
select tag,count(submit_time) exam_cnt_21,
rank() over(order by count(submit_time)desc) exam_cnt_rank_21
from examination_info ei join exam_record er using(exam_id)
where "2021"= year(submit_time) and date_format(submit_time,"%Y%m")<="202106"
group by tag
)t21 using(tag)
order by growth_rate desc, exam_cnt_rank_21 desc
查看1道真题和解析