题解 | 输出播放量最高的视频

输出播放量最高的视频

https://www.nowcoder.com/practice/9e9cb264e1f64e28846975d5a32ba8e4

with event_vedio as 
(
    select
        cid,
        start_time as event_time,
        1 as event_type
    from play_record_tb
    union all
    select
        cid,
        end_time as event_time,
        -1 as event_type
    from play_record_tb
),
concorrent as
(
    select
        cid,
        event_time,
        sum(event_type) over(partition by cid order by event_time,event_type) as counts
    from event_vedio
),
vedio_peak as 
(
    select
        cid,
        max(counts) as max_peak_uv
    from concorrent
    group by cid
)

select
    cid,
    round(max_peak_uv,3)
from vedio_peak
order by max_peak_uv desc
limit 3;

这里的播放量指的是并发播放峰值,某个时刻观看人数的峰值,相当于把时间段拆成时间点,把连续行为拆成离散事件,再通过累计求和还原实时人数,最后取最大值。

全部评论

相关推荐

想干测开的tomca...:这份简历是“大一新生硬凹资深后端”的典型反面教材,槽点离谱到能让面试官直接笑出声: ### 1. 「年龄+入学时间」和项目复杂度完全脱节,可信度直接归0 你2024年7月才入学(现在刚读了1年多),19岁的大一新生,能把Vue3+Spring Boot+ShardingSphere+K8s+AI这些技术全塞进两个项目里?别说实际开发,光把这些技术的文档看完都得半年——这不是“能力强”,是“把招聘JD里的技术词全抄过来造假”,明摆着没碰过实际代码
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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