一、知识点总结
记住这个小知识点:
求某一瞬时同时在线人数的判断条件: ‘瞬时时间’ between ‘进入时间’ AND ‘离开时间’
二、解题步骤
题目:统计直播开始时(19:00),各科目的在线人数
- 开播人数:用户的进入时间在19点前(包含19点),离开时间在19点后(包含19点)
- 即,开播时间在进入后离开前,即 开播时间 between ‘进入时间’ and ‘离开时间’
'19:00' BETWEEN DATE_FORMAT(in_datetime,'%H:%i') and DATE_FORMAT(out_datetime,'%H:%i')完整代码:
SELECT course_id,course_name,COUNT(DISTINCT user_id) online_num FROM attend_tb JOIN course_tb USING(course_id) WHERE '19:00' BETWEEN DATE_FORMAT(in_datetime,'%H:%i') and DATE_FORMAT(out_datetime,'%H:%i') GROUP BY course_id,course_name ORDER BY course_id;