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

牛客sql题目总结(1)

1.第N高的薪水

AC:

create function getnthhighestsalary(n int) returns int
begindeclare m int; set m = n - 1; return (select distinct salaryfrom employeeorder by salary desclimit m, 1);
end

2.平均播放进度大于60%的视频类别

AC:

select tb_video_info.tag,concat(round(avg(if(timestampdiff(second, start_time, end_time) >= tb_video_info.duration, 1, timestampdiff(second, start_time, end_time) / tb_video_info.duration) * 100, 2), '%') as avg_play_progress
from tb_user_video_log
join tb_video_info on tb_video_info.video_id = tb_user_video_log.video_id
group by tb_video_info.tag
having avg(if(timestampdiff(second, start_time, end_time) >= tb_video_info.duration, 1, timestampdiff(second, start_time, end_time) / tb_video_info.duration) * 100) > 60
order by avg_play_progress desc;

解释:

  • TIMESTAMPDIFF(SECOND, start_time, end_time):计算 start_time 和 end_time 之间的秒数差异,作为播放时长。
  • 通过该差异,你可以比较每个用户的观看时长与视频时长,进而计算播放进度。

这样可以确保你正确处理了时间差,并按照实际播放时长来计算进度。

3.每类视频近一个月的转发量/率

AC:

SELECT b.tag, SUM(if_retweet) retweet_cnt, ROUND(SUM(if_retweet)/COUNT(*), 3) retweet_rate
FROM tb_user_video_log a
LEFT JOIN tb_video_info b
ON a.video_id = b.video_id
WHERE DATEDIFF(DATE((select max(start_time) FROM tb_user_video_log)), DATE(a.start_time)) <= 29
GROUP BY b.tag
ORDER BY retweet_rate desc

4.

5.

6.

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

相关文章:

  • RocketMQ 自动注入消费者
  • RibbitMQ-安装
  • 非计算机背景但是想从事医学AI研究,需要掌握的编程语言|个人观点·24-11-08
  • 内置函数【MySQL】
  • RNA-seq 差异分析的点点滴滴(1)
  • Windows10/11开启卓越性能模式 windows开启卓越性能电源模式 工作电脑开启卓越性能模式 电脑开启性能模式
  • day20-21之间的项目实战:若依ruoyi开发(可以跳过)
  • 双向链表及如何使用GLib的GList实现双向链表
  • ProCalun卡伦纯天然万用膏,全家的皮肤健康守护
  • FastAPI全方位分析:优劣尽显
  • 【rust】rust基础代码案例
  • 【深度学习】PromptFix:多功能AI修图
  • 2024最新AI绘画系统软件(Midjourney)+GPT4文档分析总结,多模态识图理解,AI文生图/图生图/混图生图(图像混合)
  • 【信号处理】基于联合图像表示的深度学习卷积神经网络
  • C#基础-区分数组与集合
  • ORACLE 19C 安装数据库补丁的详细过程
  • tensorflow案例5--基于改进VGG16模型的马铃薯识别,准确率提升0.6%,计算量降低78.07%
  • 代码中的设计模式-策略模式
  • 后端Node学习项目-项目基础搭建
  • Python | Leetcode Python题解之第538题把二叉搜索树转换为累加树
  • 【ZeroMQ 】ZeroMQ中inproc优势有哪些?与其它传输协议有哪些不同?
  • spark的学习-03
  • 一文了解Android SELinux
  • 数据血缘追踪是如何在ETL过程中发挥作用?
  • 跟我学C++中级篇——生产中如何调试程序
  • Python爬虫实战 | 爬取网易云音乐热歌榜单
  • apk因检测是否使用代理无法抓包绕过方式
  • DevOps业务价值流:架构设计最佳实践
  • 计算机网络——SDN
  • 开源数据库 - mysql - innodb源码阅读 - master线程(一)