题解 | #各个视频的平均完播率#
各个视频的平均完播率
https://www.nowcoder.com/practice/96263162f69a48df9d84a93c71045753
WITH t1 AS (
SELECT a.video_id,
b.video_id AS user_watch_video_id,
b.start_time,
b.end_time,
a.duration,
substring(b.end_time,1,4) as watch_year,
TIMESTAMPDIFF(SECOND, start_time, end_time) AS watch_second
-- SUBSTRING(b.end_time, 1, 4) AS year1
FROM tb_video_info a
LEFT JOIN tb_user_video_log b ON a.video_id = b.video_id
-- having year1 = "2021"
)
SELECT t1.video_id,
ROUND(SUM(IF(t1.watch_second >= t1.duration, 1, 0)) / COUNT(t1.video_id), 3) AS avg_comp_play_rate
FROM t1 where t1.watch_year=2021
GROUP BY t1.video_id
ORDER BY avg_comp_play_rate DESC;
SHEIN希音公司福利 318人发布