49. 视频热度问题

这篇具有很好参考价值的文章主要介绍了49. 视频热度问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

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

实现一
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文章来源地址https://www.toymoban.com/news/detail-703945.html

到了这里,关于49. 视频热度问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于微信小程序的上课签到系统(数据库+报告+文档+演示视频)

    本系统采用了SSM (Spring +Spring MVC+  Mybatis)架构, MySQL作为基础数据库,微信开发工具作为前端基础,前端采用了 wxml的设计语言,Idea作为后台的开发工具。 1.超级管理员 课表管理 公告栏 签到管理 2.教师 教师信息 发布签到(手动开启+定位签到) 小测试 平时分:签到加分

    2024年02月11日
    浏览(53)
  • 开源数据库MySQL 8.0 OCP认证精讲视频、环境和题库 之二

    修改用户的初始密码: mysqlalteruserroot@localhostidentifiedby\\\'Qaz1234; 或者: mysqlalteruseruser0identifiedby\\\'Qaz_1234\\\'; 在版本5.x中: mysqlsetpassword=password(Qaz_1234\\\'); 可执行文件: 服务器端:mysgld多线程 客户端:mysqlmysqladminmysqldumpmysqlbackup mysqlshowdatabases; mysqlselectdatabaseO; mysqlselectuser0; mysqlcrea

    2024年02月08日
    浏览(58)
  • 数据库问题记录(粗略版)oracle、mysql等主流数据库通用

    1. ORA-00918:未明确定义列 该问题情况大致为:select 所取列名错误、重复等问题。 2. “select * from temp where 1=0; ”的含义 布尔值为FALSE,只返回表结构,不返回数据。 举一反三: select * from temp where 10 , 布尔值为TRUE,返回所有数据记录; select * from temp where 1=0, 暂不清楚是何

    2024年02月07日
    浏览(50)
  • 数据库连接问题 1251

    Navicat连接本地数据库时出现的问题 解决办法 : 打开 输入密码 然后输入 ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘123456’; FLUSH PRIVILEGES;

    2024年02月07日
    浏览(47)
  • 在线视频教育平台|基于Springboot的在线视频教育平台系统设计与实现(源码+数据库+文档)

    在线视频教育平台 目录 基于Springboot的在线视频教育平台系统设计与实现 一、前言 二、系统设计 三、系统功能设计  1、前台: 2、后台 用户功能模块 教师功能模块 四、数据库设计  五、核心代码  六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍 :✌

    2024年04月09日
    浏览(89)
  • HarmonyOS云开发基础认证题目记录——包括第一期:Serverless基础、第二期:快速构建用户认证系统、第三期:云函数入门指南、第四期:云数据库入门指南、第五期:云存储入门指南。

    1. 【判断题】  应用架构的演进依次经历了微服务架构、单体架构、Serverless架构等阶段。 错误 2. 【判断题】  认证服务手机号码登录需要填写国家码。 正确 3. 【判断题】  认证服务在绑定微信账号后就不能再绑定QQ账号了。 错误 4. 【判断题】  云函数可以根据函数的实际

    2024年02月05日
    浏览(117)
  • 后端插入数据库问题

    IDEA报错:Error updating database. Cause: java.sql.SQLException: Column count doesn’t match value count at row 1 1、看报错消息, SQLException,定位到SQL语句问题 并且看best guess最好猜测,再去找路径下的ShoppingCartMapper.java文件 2、发现 sql语句上下变量不对应 3、修改即可

    2024年04月28日
    浏览(42)
  • 数据库索引面试的相关问题

    查看索引的执行计划 索引失效的情况 1、索引列上做了计算,函数,类型转换等操作。索引失效是因为查询过程需要扫描整个索引并回表。代价高于直接全表扫描。 Like匹配使用了前缀匹配符“%abc” 字符串不加引号导致类型转换。 原因: 常见索引的优化的方法 1、前缀索引

    2024年02月22日
    浏览(44)
  • 如何解决缓存和数据库的数据不一致问题

    数据不一致问题是操作数据库和操作缓存值的过程中,其中一个操作失败的情况。实际上,即使这两个操作第一次执行时都没有失败,当有大量并发请求时,应用还是有可能读到不一致的数据。 如何更新缓存 更新缓存的步骤就两步,更新缓存和更新数据库。但是这两步会引

    2024年02月21日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包