题解 | #每类视频近一个月的转发量/率#
每类视频近一个月的转发量/率
http://www.nowcoder.com/practice/a78cf92c11e0421abf93762d25c3bfad
本题不算难,难在理解题意😂
【理解题意】
<每类视频>指所有视频
<用户互动>指播放过视频
<有互动的用户近一个月>指播放的所有视频最近一次(max(strat_time))减去30天
综上,近一个月的最早日期为 SELECT timestampadd(day,-30,max(start_time)) from tb_user_video_log
【解题思路】
1、两表连接,以tag分组进行group by
2、以最早日期进行数据筛选,start_time>=(SELECT timestampadd(day,-30,max(start_time)) from tb_user_video_log)
3、计算转发次数,用sum;计算播放次数,用count
代码如下↓
SELECT i.tag,sum(l.if_retweet) retweet_cnt, round(sum(l.if_retweet)/count(l.if_retweet),3) retweet_rate from tb_user_video_log l LEFT JOIN tb_video_info i on l.video_id=i.video_id WHERE l.start_time>=(SELECT timestampadd(day,-30,max(start_time)) from tb_user_video_log) GROUP BY i.tag order by retweet_rate desc;