with a as (select #统计次数,窗口函数完成排名
    exam_id
    ,year(submit_time) as start_year
    ,count(submit_time) as exam_cnt
    ,rank()over(partition by year(submit_time) order by count(submit_time) desc) as rk
    from exam_record
    where month(submit_time) <7
    group by exam_id,start_year)

select
    t1.tag,
    t2.exam_cnt as exam_cnt_20,
    t.exam_cnt as exam_cnt_21,
    concat(round(((t.exam_cnt-t2.exam_cnt)/t2.exam_cnt)*100,1),'%') as growth_rate
    ,t2.rk as exam_cnt_rank_20
    ,t.rk as exam_cnt_rank_21
    ,t.rk-ifnull(t2.rk,0) as rank_delta
from a as t
join a as t2
on t2.exam_id=t.exam_id #使用内连接,能连接上的就能计算增长率
join examination_info as t1 on t1.exam_id=t2.exam_id
and t.start_year=2021 and t2.start_year=2020 #使用自连接分别取2020和2021
order by growth_rate desc,exam_cnt_rank_21 desc