题解 | #牛客直播各科目同时在线人数#

牛客直播各科目同时在线人数

http://www.nowcoder.com/practice/d69677e41f9a4bf3b3ed7a42573e9490

-又是一道求同时在线人数,老生常谈啦!还是那个套路,这就不多解释了


with t as(
select 
	a.course_id,
    course_name,
    in_datetime,
    out_datetime
from attend_tb a
left join course_tb b
on a.course_id=b.course_id)

select
	course_id,
    course_name,
    max(num) as max_num
from
(select 
course_id,
course_name,
sum(diff) over (partition by course_id order by dt,diff desc) num
from
(
select 
	course_id,
    course_name,
    in_datetime dt,
    1 diff
from t
union all
select 
	course_id,
    course_name,
    out_datetime dt,
    -1 diff
from t)t1)t2
group by course_id,course_name
order by course_id


全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务