with
t as (
select
p1.id,
p1.cid,
sum(
if (
p2.start_time between p1.start_time and p1.end_time,
1,
0
)
) as peak_uv
from
play_record_tb p1
join play_record_tb p2 on p1.cid = p2.cid
group by
1,
2
)
select
cid,
max(peak_uv) as max_peak_uv
from
t
group by
1
order by
2 desc
limit
3;

京公网安备 11010502036488号