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

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

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

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

目前感觉我答非所问 这道题应该是要求某个时间的最高峰人数 希望大佬指点下(mysql)具体要怎么去实现 或者思路也可以 感谢
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案
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
4年前 评论
人厶八夂 4年前
讨论数量: 3

纯的sql写不出来

4年前 评论
人厶八夂 (作者) 4年前
AKA小居 (楼主) 4年前
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
4年前 评论
人厶八夂 4年前

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

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

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