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

相关推荐
T06205145 分钟前
【工具变量】企业固定资产加速折旧DID数据集(2008-2025年)
大数据
Re.不晚13 分钟前
Redis——缓存【缓存穿透、缓存雪崩、缓存击穿】
数据库·redis·缓存
JZC_xiaozhong26 分钟前
如何解决异构系统审批流程割裂的难题?
大数据·微服务·数据分析·数据孤岛解决方案·数据集成与应用集成
蚂蚁数据AntData33 分钟前
DB-GPT 0.7.5 版本更新:基于 Falcon 评测集的Text2SQL评测体系全面升级,支持LLM/Agent两种评测模式和多环境评测
大数据·人工智能·算法·ai·开源
llrraa201033 分钟前
Doris sql语句转换为sqlite
jvm·sql·sqlite
念越36 分钟前
MySQL 数据库约束知识点整理(主键、自增、外键完整案例)
数据库
Re.不晚41 分钟前
Redis——集群
数据库·redis·缓存
X54先生(人文科技)42 分钟前
千问回答用户启蒙灯塔起源团的基于“和清寂静”内核碳硅协同对位法的千问吸收情况
数据库·人工智能·开源·ai编程
哈库纳玛塔塔42 分钟前
AI 时代,使用 dbVisitor 读写向量化数据
数据库·人工智能·mybatis
虹科网络安全43 分钟前
【Redis实用技巧#12】如何向 Redis 批量写入海量数据?
数据库·redis·php