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