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
相关推荐
上海云盾-小余13 分钟前
应用层漏洞实战防护:SQL 注入、XSS、文件上传漏洞一站式加固方案
数据库·sql·xss
曾阿伦29 分钟前
SQL 用法详解:从基础操作到进阶实战的全场景指南
数据库·sql
ew4521829 分钟前
【SQL】DISTINCT 与 GROUP BY 核心区别及常见误区、问题全梳理
sql·mysql
阿里云大数据AI技术38 分钟前
EMR Serverless Spark 携手 PAI/百炼,开启“SQL 即 AI”的新篇章
sql·阿里云·spark·serverless·pai
Meepo_haha1 小时前
python的sql解析库-sqlparse
数据库·python·sql
常利兵1 小时前
Java后端定时任务抉择:@Scheduled、Quartz、XXL - Job终极对决
java·数据库·sql
me8321 小时前
【Java】关于控制台 SQL 日志显示查询有值但Swagger不显示字段问题
java·开发语言·sql
信也科技布道师1 小时前
信也AI赋能慢SQL治理的探索与实践
数据库·人工智能·sql
zuoerjinshu9 小时前
sql实战解析-sum()over(partition by xx order by xx)
数据库·sql
yhole16 小时前
SQL中的REGEXP正则表达式使用指南
数据库·sql·正则表达式