题解 | #平均播放进度大于60%的视频类别#
平均播放进度大于60%的视频类别
https://www.nowcoder.com/practice/c60242566ad94bc29959de0cdc6d95ef
SELECT
v.tag,
concat (
ROUND(
AVG(
CASE
WHEN TIMESTAMPDIFF (SECOND, uv.start_time, uv.end_time) >= v.duration THEN 100
WHEN TIMESTAMPDIFF (SECOND, uv.start_time, uv.end_time) < 0 THEN 0
ELSE (
TIMESTAMPDIFF (SECOND, uv.start_time, uv.end_time) / v.duration
) * 100
END
),
2
),
'%'
) AS average_progress
FROM
tb_user_video_log uv
JOIN tb_video_info v ON uv.video_id = v.video_id
GROUP BY
v.tag
HAVING
average_progress > 60
ORDER BY
average_progress DESC;
查看3道真题和解析