此题核心难点:如何统计 《直播开始时(19:00),各科目的在线人数》 = 各个用户的 in_datetime 登陆时间在19:00或者之前,即统计其在线人数。 select t1.course_id, t1.course_name, sum(case when date_format(t2.in_datetime, '%H%i') <= 1900 then 1 else 0 end) as online_num 解释:①小时:%H👉19;%h👉7;②分钟:%i👉minutes from course_tb as t1 left join attend_tb as t2 on t1.course_id = t2.course_id group by 1,2;