select cid,round(cast(max(t1) as FLOAT),3) t4--cast as FLOAT转换成浮点型
from (select a.cid,sum(if(a.start_time between b.start_time and b.end_time,1,0)) t1--如果a.开始时间包含在b.开始时间和结束时间里,则返回1,否则0,再进行求和。
from play_record_tb a
join play_record_tb b on b.cid=a.cid 
group by a.id,a.cid,a.start_time) t2 --“每个用户每一刻并发数
group by cid
order by t4 desc
limit 3 取排序后的前三位