题解 | #各个视频的平均完播率#

各个视频的平均完播率

https://www.nowcoder.com/practice/96263162f69a48df9d84a93c71045753

SELECT
DISTINCT 
video_id,
ROUND(finished_num/total_num, 3) AS avg_comp_play_rate

FROM(
	SELECT
	video_id,
	IF((TIME_TO_SEC(end_time) - TIME_TO_SEC(start_time)) - duration >= '0', 1 , 0) AS mark,
	SUM(IF((TIME_TO_SEC(end_time) - TIME_TO_SEC(start_time)) - duration >= '0', 1 , 0)) OVER(PARTITION BY video_id) AS finished_num,
	COUNT(*) OVER(PARTITION BY video_id) AS total_num
    
	FROM
	tb_user_video_log AS uv  

	LEFT JOIN
	tb_video_info AS v
	USING (video_id) 

	WHERE YEAR(end_time) = '2021') AS a

    ORDER BY avg_comp_play_rate DESC

全部评论

相关推荐

09-28 22:01
已编辑
广西科技大学 IT技术支持
合适才能收到offe...:找桌面运维?
点赞 评论 收藏
分享
迷茫的大四🐶:摊牌了,我是25届的,你们也不招我
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务