题解|存档!时间的截取和差值 #牛客直播各科目出勤率#

牛客直播各科目出勤率

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

### 题目讲的比较模糊,在线时长10分钟,需要考虑以下两种情况
### 1.是否包括直播为开始前已经在线或者直播结束后仍在线的时间
### 2.是否将多段短时的在线时长进行累加求和


select course_id, course_name,
       round(100 * attend_cnt / sign_cnt, 2) as 'attend_rate(%)'
from (
    # 每科在线时长10分钟及以上人数
    select distinct course_id, course_name
        ,sum(if(sum(
            case when in_datetime <= starttime and out_datetime <= endtime then timestampdiff(second, starttime, out_datetime)
                when in_datetime <= starttime and out_datetime > endtime then timestampdiff(second, starttime, endtime)
                when in_datetime > starttime and out_datetime <= endtime then timestampdiff(second, in_datetime, out_datetime)
                else timestampdiff(second, in_datetime, endtime)
            end
        ) / 60 >= 10, 1, 0))over(partition by course_id) as attend_cnt
    from (
        # 得到课程开始结束时间,方便后续比较
        select course_id, course_name, user_id, in_datetime, out_datetime
            ,left(course_datetime, 15) as starttime -- 直播开始时间
            ,concat(left(course_datetime, 10), right(course_datetime, 5)) as endtime -- 直播结束时间
        from course_tb left join attend_tb using(course_id)
    ) as t1
    where in_datetime <= endtime
        and out_datetime >= starttime
    group by course_id, course_name, user_id
) as t2
left join (
    # 每科报名人数
    select course_id, sum(if_sign) as sign_cnt
    from behavior_tb
    group by course_id
) as t3
    using(course_id)
order by course_id;

全部评论

相关推荐

刚刷到字节跳动官方发的消息,确实被这波阵仗吓了一跳。在大家还在纠结今年行情是不是又“寒冬”的时候,字节直接甩出了史上规模最大的转正实习计划——ByteIntern。咱们直接看几个最硬的数,别被花里胡哨的宣传词绕晕了。首先是“量大”。全球招7000多人是什么概念?这几乎是把很多中型互联网公司的总人数都给招进来了。最关键的是,这次的资源分配非常精准:研发岗给了4800多个Offer,占比直接超过六成。说白了,字节今年还是要死磕技术,尤其是产品和AI领域,这对于咱们写代码的同学来说,绝对是今年最厚的一块肥肉。其次是大家最关心的“转正率”。官方直接白纸黑字写了:整体转正率超过50%。这意味着只要你进去了,不划水、正常干,每两个人里就有一个能直接拿校招Offer。对于2027届(2026年9月到2027年8月毕业)的同学来说,这不仅是实习,这简直就是通往大厂的快捷通道。不过,我也得泼盆冷水。坑位多,不代表门槛低。字节的实习面试出了名的爱考算法和工程实操,尤其是今年重点倾斜AI方向,如果你简历里有和AI相关的项目,优势还是有的。而且,转正率50%也意味着剩下那50%的人是陪跑的,进去之后的考核压力肯定不小。一句话总结:&nbsp;27届的兄弟们,别犹豫了。今年字节这是铁了心要抢提前批的人才,现在投递就是占坑。与其等到明年秋招去千军万马挤独木桥,不如现在进去先占个工位,把转正名额攥在手里。
喵_coding:别逗了 50%转正率 仔细想想 就是转正与不转正
字节7000实习来了,你...
点赞 评论 收藏
分享
03-29 18:59
运城学院 Java
程序员小白条:咱们要对自己的简历和学历有清晰的认知,不要动不动就大厂了....都26届了,没实习还想着大厂,唉
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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