统计每个科目的出勤率(attend_rate(%),结果保留两位小数),出勤率=出勤(在线时长10分钟及以上)人数 / 报名人数,输出结果按course_id升序排序。

1)计算每门课程报名人数;
SELECT course_id,COUNT(DISTINCT user_id) application_cnt FROM behavior_tb WHERE if_sign=1 GROUP BY course_id2)计算每门课程在线10分钟以上的用户数;
SELECT course_id,COUNT(DISTINCT user_id) attend_cnt FROM attend_tb WHERE TIMESTAMPDIFF(minute,in_datetime,out_datetime)>=10 GROUP BY course_id;3)计算出勤率,输出结果按course_id升序排序
SELECT course_id,course_name,ROUND(attend_cnt*100/application_cnt,2) 'attend_rate(%)' FROM(SELECT course_id,COUNT(DISTINCT user_id) application_cnt FROM behavior_tb WHERE if_sign=1 GROUP BY course_id) AS t1 JOIN (SELECT course_id,COUNT(DISTINCT user_id) attend_cnt FROM attend_tb WHERE TIMESTAMPDIFF(minute,in_datetime,out_datetime)>=10 GROUP BY course_id) AS t2 USING(course_id) JOIN(course_tb) USING(course_id) ORDER BY course_id;