```SELECT
c.course_id,
c.course_name,
COUNT( a.in_datetime ) online_num
FROM
attend_tb a
LEFT JOIN course_tb c ON a.course_id = c.course_id
WHERE
SUBSTRING( a.in_datetime, 12, 5 ) <= "19:00"
GROUP BY
c.course_id,
c.course_name,
SUBSTRING( a.in_datetime, 1, 10 )
ORDER BY
c.course_id ASC;
解题思路:
统计各科目7点前进入直播间的观看人数。以7点前为条件,先过滤掉7点后进直播间的人,然后按照不同科目id,不同科目名,不同日期分组生成每个科目的观看子表即为各科目的观看人数。