#开始时间打标1,结束时间打标2,累计开窗求和计算峰值

select cid, max(sum) as max_peak_uv
from (
    select cid, sum(flg) over(partition by cid order by start_time) as sum
    from 
    (
    select  uid , cid ,start_time ,1 as flg
    from play_record_tb t
    union all
    select  uid , cid ,end_time , -1
    from play_record_tb t2
    ) t
)t
group by cid
order by 2 desc
limit 3