SQL同时在线人数
表:user_login_detail 
字段:user_id login_ts(登入时间) logout_ts(退出登录时间)
需求:求同时在线人数
解决的核心是把同时在线人数当做一个实时变化的容器,登入一个人加1,退出一个人则减1,求这个容器的最大值
1 select max(tpes) cn from ( 2 select 3 4 sum(flag) over(partition by ts) tpes 5 from ( 6 select user_id,login_ts ts ,1 flag from user_login_detail 7 union all 8 select user_id,logout_ts ts ,-1 flag from user_login_detail 9 ) a 10 ) b
 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号