题解 | #月总刷题数和日均刷题数#

月总刷题数和日均刷题数

https://www.nowcoder.com/practice/f6b4770f453d4163acc419e3d19e6746

select date_format(submit_time,'%Y%m') submit_month,
count(*) month_q_cnt,
round(count(*)/day(last_day(max(submit_time))),3) avg_day_q_cnt   --因为8月为一组,但是submit_time是每次答题都有的,8月有多次答题就会有多个答题时间,因此将多个变成一个用max()函数,保证8月分母只有一个31
from practice_record
where score is not null 
and year(submit_time) = '2021'
group by submit_month
union all
select '2021汇总' as submit_month,
count(*) month_q_cnt,
round(count(*)/31,3) avg_day_q_cnt
from practice_record
where score is not null
and year(submit_time) = '2021'
order by submit_month;
select coalesce(year_mon,'2021汇总') as submit_month,  --因为 with rollup 的存在,出现了一行null值,因此将year_mon为null时改成'2021汇总'即可
count(question_id) as month_q_cnt,
round(count(question_id)/max(t.days_month),3) as avg_day_cnt --max()函数用法与上面相同, group by 之后保证一个组只有一个30或者31作除数
from
(select question_id,
dayofmonth(last_day(submit_time)) as days_month,
date_format(submit_time,'%Y%m') as year_mon
from practice_record
where year(submit_time)=2021) as t
group by t.year_mon with rollup;  --with rollup的作用是在各分组的最后加一行数据记录所有汇总数据,组名为null值

全部评论

相关推荐

昨天 13:04
已编辑
门头沟学院 算法工程师
智谱和米哈游都是ai大模型agent的业务钱的话还是米更多,几乎翻倍了,有没有老哥是两个公司其中一个的,能问问转正率咋样嘛,我问的hr回答都是做的好就可以转正暑期实习
码农索隆:选米哈游:短期高薪、敢承担风险、具备强创新能力,且愿押注游戏AI赛道。 选智谱:稳定性与行业通用能力积累,接受薪资差距以换取更稳妥的职业基础。
投递北京智谱华章科技等公司6个岗位 > 实习期间如何提升留用概率?
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
05-01 13:13
ecece:这么明目张胆虚报就业率啊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务