题解 | 截至当月的练题情况

截至当月的练题情况

https://www.nowcoder.com/practice/80ed62a097564fad880b967678e460fc

select device_id,ym,sum(cnt)over(partition by device_id order by ym) sum_cnt, 
round((cnt+lag(cnt,1,0)over(partition by device_id order by ym)+lag(cnt,2,0)over(partition by device_id order by ym))/(1+if(lag(cnt,1,0)over(partition by device_id order by ym)=0,0,1)+if(lag(cnt,2,0)over(partition by device_id order by ym)=0,0,1)),2) avg3_cnt,sum(cnt)over(order by ym) total_cnt
from
(select device_id,left(event_date,7) ym,count(question_id) cnt from question_practice_detail
group by device_id,left(event_date,7)) as newtable
order by device_id,left(ym,4),right(ym,2)

窗口函数参考:https://blog.csdn.net/qq_33218097/article/details/133147062?ops_request_misc=%257B%2522request%255Fid%2522%253A%25229cafcf17df5092f8a1e899238562a340%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=9cafcf17df5092f8a1e899238562a340&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-133147062-null-null.142^v102^pc_search_result_base8&utm_term=mysql%20%E7%AA%97%E5%8F%A3%E5%87%BD%E6%95%B0%E7%B4%AF%E5%8A%A0&spm=1018.2226.3001.4187

sum()over( order by ) 可阶段性累加

lag向前取 lead向后取

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-27 14:11
很喜欢小米的新车,校招薪资每月22k,攒多久能买?
测试糕手手:别看工资,先看现金流存款。有50W存款以上再考虑,车是消耗品,选适合自己的重要。你有钱就当我没说过
点赞 评论 收藏
分享
喜欢核冬天的哈基米很想上市:会爆NullPointerException的
点赞 评论 收藏
分享
每晚夜里独自颤抖:这个在牛客不是老熟人了吗
点赞 评论 收藏
分享
06-23 17:45
门头沟学院 Java
里面的项目啥的真的有用吗? 这些人是割韭菜吗?
HellowordX:很简单,如果你有自己稳定的学习路线和获取知识的方式就没必要,如果你啥都不懂的小白或者里边有你感兴趣的知识,我觉得挺值,我也经常为知识付费,因为时间精力有限,很多东西我不可能自己重复造轮子
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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