题解 | #牛客直播开始时各直播间在线人数#
牛客直播开始时各直播间在线人数
http://www.nowcoder.com/practice/bdd30e83d47043c99def6d9671bb6dbf
一开始做麻烦了,按照之间求瞬时最大uv的方法来做,结果发现完全没必要
- 先找到 19:00 上课情况,就是 in-time 以及out-time覆盖 19:00这个时间点的
select *
from attend_tb
inner join course_tb
using(course_id)
where '19:00:00' between time(in_datetime) and time(out_datetime)
- 然后按照course_id, course_name分组统计uv就好,在按照course_id升序排列
select
course_id,
course_name,
count(distinct user_id) as online_num
from attend_tb
inner join course_tb
using(course_id)
where '19:00:00' between time(in_datetime) and time(out_datetime)
GROUP BY course_id, course_name
order by course_id