题解 | #对比一周的播放完成率变化#
对比一周的播放完成率变化
https://www.nowcoder.com/practice/47852dbdf412481198597eaa1505ecd6
#纯小白思路 #还是先说下题意吧,不知道牛客花钱了,这题意说的云山雾绕的。 #求每周的变化率,(当前周几+1完播率-当前周几完播率)/当前周几完播率,公式反过来也行。(当前周几/当前周几-1)/当前周几-1 with tiaojian as ( select weekday(start_time)+1 as weekth, sum(case when timestampdiff(second,start_time,end_time)>=vb.time_len then 1 else timestampdiff(second,start_time,end_time)/vb.time_len end)/count(distinct uid) as weekwbl from user_play_log_tb ub inner join video_info_tb vb on ub.vid=vb.vid group by weekday(start_time)+1 order by weekth asc ) select t.weekth, concat( round( ( (last_weekwbl-weekwbl)/weekwbl)*100,1),"%") as play_ratio_delta from( select weekth, weekwbl, lead(weekwbl,1,(select weekwbl from tiaojian where weekth=1))over(order by weekth asc) as last_weekwbl from tiaojian ) as t