题解 | #平均播放进度大于60%的视频类别#
平均播放进度大于60%的视频类别
https://www.nowcoder.com/practice/c60242566ad94bc29959de0cdc6d95ef
select
tag,
CONCAT (avg_play_progress, "%")
from
(
select
i.tag as tag,
round(
avg(
if (
timestampdiff (second, l.start_time, l.end_time) > i.duration,
100,
(
timestampdiff (second, l.start_time, l.end_time) / i.duration
) * 100
)
),
2
) as avg_play_progress
from
tb_user_video_log as l
inner join tb_video_info as i using (video_id)
group by
i.tag
HAVING
avg_play_progress > 60
ORDER BY
avg_play_progress DESC
) as t
- 将两个表连接起来
- 查询tag,并且计算avg_play_progress
- 使用having,将不符合要求的分组过滤
- 将avg_play_progress转化为百分比形式

查看14道真题和解析