题解 | 截至当月的练题情况
截至当月的练题情况
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)
sum()over( order by ) 可阶段性累加
lag向前取 lead向后取