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

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

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

# 求最大同时在线人数
# 经典瞬时人数计算

# 临时表0, 将进入和离开时间分别编码为1,-1   然后组合在一起
WITH temp_0 AS(
    SELECT course_id, in_datetime _time, 1 cnt
    FROM attend_tb
    UNION ALL
    SELECT course_id, out_datetime _time, -1 cnt
    FROM attend_tb
    )

# 取最值
SELECT course_id, course_name, MAX(num) max_num
FROM(
	# 子查询根据课程id分页,根据时间和计数字段排序,先增后减,得到每个课程的瞬时在线人数
    SELECT course_id, SUM(cnt) OVER(PARTITION BY course_id ORDER BY _time, cnt DESC) num
    FROM temp_0
    ) a
JOIN course_tb USING(course_id)
GROUP BY course_id, course_name
ORDER BY course_id

全部评论

相关推荐

owwhy:难,技术栈在嵌入式这块显得非常浅,并且简历有大问题。教育经历浓缩成两行就行了,写什么主修课程,说的不好听这块没人在意,自我评价删了,项目写详细点,最终简历缩成一页。相关技能怎么说呢,有点差了,还写成这么多行
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务