49. 视频热度问题

文章目录

谨以此笔记献给浪费掉的两个小时。

此题存在多处疑点和表达错误的地方,如果你看到了这篇文章,劝你跳过该题。

该题对提升HSQL编写能力以及思维逻辑能力毫无帮助。

实现一

sql 复制代码
with info as (
    -- 将数据与 video_info 关联,取出 duration
    select t1.video_id                                           as video_id,
           -- 计算观看时长(s)
           unix_timestamp(end_time) - unix_timestamp(start_time) as view_time,
           if_like,
           if_retweet,
           comment_id,
           duration
    from video_info t1
             join
         user_video_log t2
         on t1.video_id = t2.video_id
)

select distinct video_id,
                -- 计算热度
                cast(ceil(100 * (seeding_num / video_num) + 5 * like_num + 3 * comment_num +
                          2 * retweet_num) as decimal(16, 1)) as heat
from (
         -- 计算出每个视频的热度 项
         select video_id,
                -- 新鲜度(别问我为什么)
                1                                                                  as freshness,
                -- 完播数
                sum(if(view_time = duration, 1, 0)) over (partition by video_id)   as seeding_num,
                -- 该视频播放次数
                count(1) over (partition by video_id)                              as video_num,
                -- 点赞数
                sum(if_like) over (partition by video_id)                          as like_num,
                -- 转发数
                sum(if_retweet) over (partition by video_id)                       as retweet_num,
                -- 评论数
                sum(if(comment_id is not null, 1, 0)) over (partition by video_id) as comment_num
         from info
     ) t1
order by heat desc
limit 3;

题目来源

http://practice.atguigu.cn/#/question/49/desc?qType=SQL

相关推荐
howdoyoudo20260641 分钟前
AI审计手记 #28:从“暂停训练”到“切断联网”——AI安全控制手段的极限升级
大数据·人工智能·安全·ai·语言模型
AIgorithmGEEK5 小时前
MySQL 索引全解(下):建、查、删实战与知识速查表
数据库·mysql·b+树·索引
曦夜日长5 小时前
Git系统篇,Git本地使用(一):从“究极进化版“到三个区域的底层原理
大数据·linux·git·elasticsearch
阿明副业观察6 小时前
2026年免费AI视频生成工具功能深度解析:有无水印、中文语音及商业用途考量
大数据·人工智能·ai作画·aigc·音视频·ai写作
唠点键盘之外的7 小时前
26 向量数据库实战:从 0 搭一条能用的检索链路(pgvector + Spring AI)
数据库·人工智能·spring
云和恩墨7 小时前
数据库监控简史:监控不止于告警——从图表大爆发到健康管理闭环
数据库
ly76898 小时前
MongoDB 事务开销实测:快照隔离下的写冲突、重试与分片事务边界
数据库·mongodb·事务·分片集群·快照隔离·写冲突
豆角焖肉8 小时前
Spring AOP 自定义注解实现系统操作日志
数据库·自定义注解·springaop·操作日志·aop 切面
2601_962780918 小时前
2027校招准备:统计学专业如何用数据能力应聘企业经营管理管培生
大数据