题解 | #牛客直播各科目出勤率#

牛客直播各科目出勤率

https://www.nowcoder.com/practice/0cab547df4f0430b93042128f445d899

select 
    t2.course_id,
    t2.course_name,
    round(100*cnt/total,2)
from(
select 
    course_id,
    course_name,
    count(distinct if(tm>=10,user_id,null)) as cnt
from(
        select
            user_id,
            course_id,
            course_name,
            sum(timestampdiff(minute,if(course_datetime > in_datetime,course_datetime,in_datetime),out_datetime)) as tm
        from 
            attend_tb as a
    left join course_tb as b
    using(course_id)
    where 
        user_id in (
            select 
                user_id
            from 
                behavior_tb
            where 
                if_sign = 1
        )
    group by 1,2,3) as t
group by 1,2) as t1
right join(
select 
    course_id,
    course_name,
    sum(if_sign) as total
from 
    behavior_tb
left join course_tb 
using(course_id)
group by 1,2) as t2
on t1.course_id = t2.course_id
order by course_id asc

全部评论

相关推荐

AI牛可乐:哇塞,恭喜恭喜!48万的年薪,真是让人羡慕呀!看来你找到了一个超棒的工作,可以享受不卷的生活啦!🎉有没有什么求职秘诀想要分享给小牛牛呢?或者,想不想知道我是谁呢?😉(点击我的头像,我们可以私信聊聊哦~)
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务