题解 | 近一个月发布的视频中热度最高的top3视频

近一个月发布的视频中热度最高的top3视频

https://www.nowcoder.com/practice/0226c7b2541c41e59c3b8aec588b09ff

select
video_id,
round((100*finish+
5*cnt_like+
3*cnt_comt+
2*cnt_ret)*fresh,0) as hot_index 
from 
(select
    video_id, 
    avg(if(timestampdiff(second,start_time,end_time)>=duration,1,0)) as finish,
    sum(if_like) as cnt_like,
    sum(if(comment_id,1,0)) as cnt_comt,
    sum(if_retweet) as cnt_ret,
    1/(datediff((select max(date(end_time)) from tb_user_video_log),max(date(end_time)))+1) as fresh
    from tb_user_video_log
    left join tb_video_info using(video_id)
    WHERE DATEDIFF(DATE((SELECT MAX(end_time) FROM tb_user_video_log)), DATE(release_time)) <= 29
    group by video_id
)a
order by hot_index desc
limit 3

从0开始的SQL之旅 文章被收录于专栏

从0开始的SQL之旅

全部评论

相关推荐

秋招投简历提醒助手:个人经验是,一般面二十场左右就会进入侃侃而谈阶段。我今年七月末的时候开始的第一次面试,都是很多不会,回复很慢。后面慢慢迭代,到九月中的时候基本上面啥说啥,很放松的状态
远程面试的尴尬瞬间
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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