SQL189 牛客直播各科目同时在线人数

SQL189 牛客直播各科目同时在线人数

参考相似题目:SQL88 输出播放量最高的视频-CSDN博客

思路完全一样。。

sql 复制代码
WITH
    -- 生成所有事件点(开始+1,结束-1)
    events AS (
        SELECT
            course_id,
            in_datetime AS event_time,
            1 AS event_type
        FROM
            attend_tb
        UNION ALL
        SELECT
            course_id,
            out_datetime AS event_time,
            -1 AS event_type
        FROM
            attend_tb
    ),
    -- 按时间排序并计算累计同时播放数
    running_counts AS (
        SELECT
            course_id,
            event_time,
            SUM(SUM(event_type)) OVER (
                PARTITION BY
                    course_id
                ORDER BY
                    event_time ROWS UNBOUNDED PRECEDING
            ) AS concurrent_play
        FROM
            events
        GROUP BY
            course_id,
            event_time
    ),
    -- 找出每个视频的最大同时播放数
    max_concurrent AS (
        SELECT
            course_id,
            MAX(concurrent_play) AS max_num
        FROM
            running_counts
        GROUP BY
            course_id
    )
SELECT
    course_id,
    course_name,
    max_num
FROM
    max_concurrent
    join course_tb using (course_id)
ORDER BY
    course_id
相关推荐
ptc学习者3 小时前
oracle logwr,ckpt,dbwn 如何协同工作的
数据库·sql
lifallen11 小时前
Flink SQL 查询 核心概念与实战指南
大数据·数据库·sql·flink
还是奇怪12 小时前
SQL注入的“无影脚”:详解空格绕过WAF的N种方法
数据库·sql·安全·web安全
xcg34012313 小时前
Spring boot中 限制 Mybatis SQL日志的大字段输出
spring boot·sql·mybatis·大字段打印
孟意昶1 天前
Spark专题-第三部分:性能监控与实战优化(1)-认识spark ui
大数据·数据仓库·sql·ui·spark·etl
阿巴~阿巴~1 天前
MySQL复合查询(重点)
服务器·数据库·sql·mysql·ubuntu
jingfeng5141 天前
I/O 多路转接select、poll
linux·数据库·sql
阿巴~阿巴~2 天前
MySQL索引特性(重点)
服务器·数据库·sql·mysql·ubuntu
粟悟饭&龟波功2 天前
【网络安全】四、中级篇:SQL注入详解
sql·安全·web安全
五颜六色的池2 天前
my sql 常用函数及语句的执行顺序
数据库·sql