select course_id, course_name, count(distinct user_id) as online_num from attend_tb left join course_tb using(course_id) where '19:00' between date_format(in_datetime,'%H:%i') and date_format(out_datetime,'%H:%i') -- where '19:00:00' between time(in_datetime) and time(out_datetime) group by course_id,course_name order by course_id