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

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

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

# 分别输出2020和2021的表,记录做完的次数和名次
# 连接两张表,join,同时计算增长率和排名变化


select tag,exam_cnt_20,exam_cnt_21,
concat(round((exam_cnt_21-exam_cnt_20)/exam_cnt_20*100,1),'%') as growth_rate,
exam_cnt_rank_20,exam_cnt_rank_21,
(cast(exam_cnt_rank_21 as signed)-cast(exam_cnt_rank_20 as signed)) as rank_delta

from
-- 2020的表
(select tag,2020 as start_year,count(submit_time)as exam_cnt_20,
rank()over(order by count(submit_time) desc) as exam_cnt_rank_20
from exam_record join examination_info using(exam_id)
where year(submit_time)=2020 and month(submit_time)<=6
group by tag) 2020_table

join 
-- 2021的表
(select tag,2021 as start_year,count(submit_time)as exam_cnt_21,
rank()over(order by count(submit_time) desc) exam_cnt_rank_21
from exam_record join examination_info using(exam_id)
where year(submit_time)=2021 and month(submit_time)<=6
group by tag) 2021_table
using(tag)

order by growth_rate desc,exam_cnt_rank_21 desc


全部评论

相关推荐

昨天 16:00
门头沟学院 Java
点赞 评论 收藏
分享
05-24 14:12
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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