SQL题求教

请教大佬,观看数据表uid,begin_time,end_time,如何按秒统计在线人数😭

BIGO的数据分析面试太难了叭,我只是个校招生呀😭#面试题目#
全部评论
字节也考过原题。。。
点赞 回复 分享
发布于 2020-09-08 15:46
我觉得可能是这样? select count(uid)as 在线人数 from (select uid,timestampdiff(second,begin_time,end_time)as时间间隔 from 表)t  where 时间间隔 = 1
点赞 回复 分享
发布于 2020-09-09 20:39
这题蛮简单的啊。。。
点赞 回复 分享
发布于 2020-09-09 20:40
mark
点赞 回复 分享
发布于 2020-09-09 22:15
插眼……按秒列的话岂不是会有很多行么?第一反应是按每一秒写case when,但是这样得写到哪年去……
点赞 回复 分享
发布于 2020-09-10 16:44
SQL这么可怕的吗。。。我之前遇到这个题的时候是编程题啊... 用一个数组记录每一秒的上下线人数,对这个数组求前缀和,每个位置的值就是当前的在线人数了。SQL不知道能不能按这个思路来哈哈
点赞 回复 分享
发布于 2020-09-11 10:03
不知这样是否可以?
点赞 回复 分享
发布于 2020-09-16 00:18
点赞 回复 分享
发布于 2020-09-28 17:48
    select     dt_time,count(disinct uid)     from     (         select uid,begin_time,end_time         from a     )a     cross join bp.yyzc_dt b  ---秒级别时间维表     where b.dt_time between begin_time and end_time     group by dt_time
点赞 回复 分享
发布于 2024-10-16 16:09 广东

相关推荐

评论
2
12
分享

创作者周榜

更多
牛客网
牛客企业服务