题解 | #牛客直播开始时各直播间在线人数#

牛客直播开始时各直播间在线人数

https://www.nowcoder.com/practice/bdd30e83d47043c99def6d9671bb6dbf

with 
    courseList as (
        select
            distinct
            user_id,
            course_id,
            course_name
        from
            course_tb
            join attend_tb using (course_id)
        where 
        date(in_datetime) = date(course_datetime) #判断观看的日子是直播当天
        and
        date_format(in_datetime,'%H%i%s') <= '190059' #提取时间时分秒 与19:00:59 比较
        and date_format(out_datetime,'%H%i%s') > '190100' # 判断离去的时间大于19:00:01
        ) #因为有用户会在直播当天有多次的进出动作,包括在直播开始的时候所以应该筛选出唯一值
    select 
        course_id,
        course_name,
        count(user_id)
    from 
        courseList
    group by
        course_id,
        course_name

本题难度不大,难度在于在直播开始的时候会有多个用户在19点有进出动作,所以应该先通过子查询找出唯一user_id,再根据couse_id和couse_name聚类。

全部评论

相关推荐

04-03 12:09
東京大学 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务