题解 | #平均播放进度大于60%的视频类别#
平均播放进度大于60%的视频类别
https://www.nowcoder.com/practice/c60242566ad94bc29959de0cdc6d95ef
SELECT b.tag,
CONCAT(
ROUND(
AVG(
(CASE WHEN TIMESTAMPDIFF(SECOND,a.start_time,a.end_time) >= b.duration THEN 1
ELSE (TIMESTAMPDIFF(SECOND,a.start_time,a.end_time)/b.duration) END)*100)
/* IF (TIMESTAMPDIFF(SECOND,a.start_time,a.end_time) >= b.duration,1, TIMESTAMPDIFF(SECOND,a.start_time,a.end_time)/b.duration)*100)*/,
2),
'%')
AS avg_play_progress
FROM tb_user_video_log AS a
LEFT JOIN tb_video_info AS b
ON a.video_id = b.video_id
GROUP BY b.tag
HAVING AVG(CASE WHEN TIMESTAMPDIFF(SECOND,a.start_time,a.end_time) >= b.duration THEN 1 ELSE TIMESTAMPDIFF(SECOND,a.start_time,a.end_time)/b.duration END) > 0.6
/* HAVING AVG(IF(TIMESTAMPDIFF(SECOND,a.start_time,a.end_time) >= b.duration,1, TIMESTAMPDIFF(SECOND,a.start_time,a.end_time)/b.duration)) > 0.6 */
ORDER BY avg_play_progress DESC
腾讯成长空间 5950人发布
