碰到一道面试题 希望大佬指点迷津

碰到一道面试题 希望大佬指点迷津

如果有一张表,存了学生上课的信息,表里有学生id,上课开始时间,结束时间,怎么统计最多有多少人同时在上课

个人浅薄理解  
1.一般表里会有一个状态存学生是否在上课直接用mysql|函数count统计出来即可
2.最多有多少人可以利用当前时间用mysql|做开启时间和结束时间的区间查询来统计使用between

目前感觉我答非所问 这道题应该是要求某个时间的最高峰人数 希望大佬指点下(mysql)具体要怎么去实现 或者思路也可以 感谢
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案
SELECT
    start_time,
    end_time,
    (
        SELECT count(DISTINCT `user_id`) from users as u2 
        where  users.`start_time` <= u2.`start_time` AND users.`end_time` >= u2.`end_time`
    ) as online
FROM
    users
    order by online desc
3年前 评论
人厶八夂 3年前
讨论数量: 3

纯的sql写不出来

3年前 评论
人厶八夂 (作者) 3年前
AKA小居 (楼主) 3年前
SELECT
    start_time,
    end_time,
    (
        SELECT count(DISTINCT `user_id`) from users as u2 
        where  users.`start_time` <= u2.`start_time` AND users.`end_time` >= u2.`end_time`
    ) as online
FROM
    users
    order by online desc
3年前 评论
人厶八夂 3年前

至少要给一个时间间隔,是求一分钟之内,还是一秒钟之内,或者其他任何时间区间。题目出的有问题。

3年前 评论
人厶八夂 3年前
AKA小居 (楼主) 3年前
人厶八夂 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!