select
    a1.course_id,
    a2.course_name,
    sum(if(in_datetime <= substr(course_datetime, 1, 15) and out_datetime > substr(course_datetime, 1, 15),1,0)) online_num
from
    attend_tb a1
left join course_tb a2 
    on a1.course_id = a2.course_id
group by
    a1.course_id,
    a2.course_name;

主要是注意两点:

1、MySQL是可以自动识别拼接字符串日期类型的,不需要进行转换,可以直接进行字符串和日期类型的比较

2、这个题目是说开播时的在线人数(17:00),所以必须在开播之前上线,开播之后下线才算是的。