当前位置: 首页 > news >正文

49. 视频热度问题

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

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

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

实现一

with info as (-- 将数据与 video_info 关联,取出 durationselect t1.video_id                                           as video_id,-- 计算观看时长(s)unix_timestamp(end_time) - unix_timestamp(start_time) as view_time,if_like,if_retweet,comment_id,durationfrom video_info t1joinuser_video_log t2on 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_numfrom info) t1
order by heat desc
limit 3;

题目来源

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

http://www.lryc.cn/news/161838.html

相关文章:

  • 【力扣练习题】加一
  • Linux--I/O复用之select
  • 数据结构大作业 成绩分析c语言程序设计
  • Consul学习笔记之-初识Consul
  • python实现读取并显示图片的两种方法
  • Spring Boot 整合 MyBatis
  • 2023高教社杯数学建模A题B题C题D题E题思路模型 国赛建模思路分享
  • 手机木马远程控制复现
  • linux 安装Docker
  • Java中的值传递与引用传递 含面试题
  • SQL中CONVERT()函数用法详解
  • 借助各大模型的优点生成原创视频(真人人声)Plus
  • 技能大赛物联网赛项参赛软件建设方案
  • 蓝桥杯官网练习题(凯撒加密)
  • JavaScript 数组中常用的方法
  • YOLOV7改进-添加基于注意力机制的目标检测头(DYHEAD)
  • 爬虫爬取mp3文件例子
  • 说说什么是间隙锁
  • python小题库(三)
  • 【前端设计模式】之单例模式
  • Linux——(第六章)常用指令(一)
  • 第19章_瑞萨MCU零基础入门系列教程之RTC
  • 6、Spring之依赖注入源码解析(上)
  • vscode各种配置的方法
  • 每天几道面试题(第一天)
  • [paddle]paddlepaddle官方安装命令合集
  • 使用JS实现一个简单的观察者模式(Observer)
  • 智能井盖传感器:高效守护城市道路安全
  • pycharm创建py文件时自动添加基础信息--模板
  • Notpad++常用正则表达式替换案例集锦