题解 | #牛客直播各科目出勤率#
牛客直播各科目出勤率
https://www.nowcoder.com/practice/0cab547df4f0430b93042128f445d899
-- 每个科目的出勤率 出勤率=出勤(在线时长10分钟及以上)/包名人数 -- 需要注意存在同一用户同一课程多次进入的情况 -- 计算每个用户每门课对应的课程名称、报名人数及出勤记录,如果在线时长10分钟及以上就记为1,否则为0 select a.course_id ,course_name ,round(100*count(distinct if(timestampdiff(minute,in_datetime,out_datetime) >= 10 ,b.user_id,null))/count(distinct if(if_sign=1,a.user_id,null)),2) as 'attend_rate(%)' from behavior_tb a left join attend_tb b on a.user_id = b.user_id and a.course_id = b.course_id left join course_tb c on a.course_id = c.course_id group by a.course_id ,course_name order by a.course_id