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
相关推荐
司沐_Simuoss4 小时前
Text to SQL系统的千层套路~
数据库·人工智能·sql·语言模型·系统架构
ActionTech7 小时前
MySQL 用好 Optimizer Trace,深刻理解 SQL 优化过程!
sql·mysql·oracle
Mr_Xuhhh8 小时前
MySQL索引深度解析:从原理到实践
数据库·sql·mysql
多多*9 小时前
Mysql数据库相关 事务 MVCC与锁的爱恨情仇 锁的层次架构 InnoDB锁分析
java·数据库·windows·sql·oracle·面试·哈希算法
何以不说话10 小时前
堡垒机jumpserver
运维·sql
远方160910 小时前
112-Oracle database 26ai下载和安装环境准备
大数据·数据库·sql·oracle·database
白帽子凯哥哥11 小时前
网络安全Web基础完全指南:从小白到入门安全测试
前端·sql·web安全·信息安全·渗透测试·漏洞
cheems952711 小时前
【MySQL】SQL调优:数据库性能优化(一)
数据库·sql·mysql
中二病码农不会遇见C++学姐11 小时前
文明6 Mod入门:三分钟学会用SQL制作第一个修改器
sql·游戏
远方160911 小时前
113-Oracle database26ai rpm安装和适配生产
大数据·数据库·sql·oracle·database