题解 | #牛客直播开始时各直播间在线人数#
牛客直播开始时各直播间在线人数
https://www.nowcoder.com/practice/bdd30e83d47043c99def6d9671bb6dbf
# 求直播开始时(19:00),各科目的在线人数 # 针对时间点的,直接联结两张表,判断进入时间是否和理论开课时间相等即可 SELECT course_id, course_name, COUNT(DISTINCT user_id) online_num # COUNT(*) 也可以 FROM course_tb JOIN attend_tb USING(course_id) # 限制在直播开始时在线 WHERE in_datetime <= LEFT(course_datetime, 15) AND out_datetime >= LEFT(course_datetime, 15) GROUP BY course_id, course_name ORDER BY course_id
难点在于虽然是求的时间点在线的,但是也要判断每个用户开始进来和出去的这个时间段里面有没有直播开始时间。
就加了where语句,又因为直播时间不是纯粹的时间格式,所以取其正常日期内容