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

牛客直播各科目出勤率

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

全部评论

相关推荐

咖啡馆守时的南瓜:这份简历是“大一新生硬凹资深后端”的典型反面教材,槽点离谱到能让面试官直接笑出声: ### 1. 「年龄+入学时间」和项目复杂度完全脱节,可信度直接归0 你2024年7月才入学(现在刚读了1年多),19岁的大一新生,能把Vue3+Spring Boot+ShardingSphere+K8s+AI这些技术全塞进两个项目里?别说实际开发,光把这些技术的文档看完都得半年——这不是“能力强”,是“把招聘JD里的技术词全抄过来造假”,明摆着没碰过实际代码
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务