select
    course_id,
    course_name,
    sum(case when time(in_datetime)<'19:00:00' and time(out_datetime)>'19:00:59' then 1
         when time(in_datetime) between '19:00:00' and '19:00:59' then 1  
         else 0 end) as online_num
from course_tb join attend_tb using(course_id)
group by course_id,course_name
order by course_id