模拟场景

例如登陆表

解决方案

1、思路:

把登陆时间、和登出时间看成一个动作,登录就+1人,登出就-1人。然后每个时间进行累加所有的人。即可看出每个时间点的在线人数。

2、代码

1、把登录时间、登出时间、动作 汇聚成一张临时表

with t1 as (
-- 时间  动作(登录+1,登出-1)
select
login_ts as check_time
,1 as cnt
from user_login_detail
union all
select
logout_ts as check_time
,-1 as cnt
from user_login_detail
)

2、累加在线人数

select
-- 秒级求最大共同人数
max(cn) as cn
from (
select
-- 时间  累加人数 (开窗sum()只要over()中没有partition by 就能实现累加)
check_time
,sum(cnt) over(order by check_time) as cn
from t1
)a

3、求最大


select
-- 秒级求最大共同人数
max(cn) as cn
from (
select
-- 时间  累加人数 (开窗sum()只要over()中没有partition by 就能实现累加)
check_time
,sum(cnt) over(order by check_time) as cn
from t1
)a

sql 求同时在线人数(或者同时观看人数/同时浏览人数)相关推荐

  1. SQL解决最多同时在线人数问题(同时视频观看人数,同时浏览人数,同时等车人数)

    SQL解决最多同时在线人数问题(同时视频观看人数,同时浏览人数,同时等车人数) 内容目录 SQL解决最多同时在线人数问题(同时视频观看人数,同时浏览人数,同时等车人数) 一.要解决的问题 二.如何解决 ...

  2. SQL解决去重问题(在线超10min中的人数等)

    SQL解决去重问题(在线超10min中的人数等) 内容目录 SQL解决去重问题(在线超10min中的人数等) 一.描述 二.求解 1.思路1 2.思路2 三.牛客的SQL33:直播各科出勤率 一.描述 ...

  3. mysql 运行sql 编码_关于解决运行 sql 文件时, 找不到 MySQL 默认编码 utf8mb4 的问题...

    关于解决运行 sql 文件时, 找不到 MySQL 默认编码 utf8mb4 的问题 本人小白一名, 最近碰到了一个问题, 在 navicat 导入 MySQL 文件时, 报出 MySQL 找不到 u ...

  4. SQL安装时出现“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运作安装程序之前必须重新启动计算机”...

    SQL安装时出现"以前的某个程序安装已在安装计算机上创建挂起的文件操作.运作安装程序之前必须重新启动计算机",但是重启了N次也没用. .net 2003安装问题-安装程序检测到另一 ...

  5. 在Hive中执行DDL之类的SQL语句时遇到的一个问题

    在Hive中执行DDL之类的SQL语句时遇到的一个问题 作者:天齐 遇到的问题如下: hive> create table ehr_base(id string); FAILED: Execut ...

  6. 成功解决:连接sql server时插入数据库内容为乱码,并且输出也为乱码

    成功解决:连接sql server时插入数据库内容为乱码,并且输出也为乱码 目录 解决问题 解决办法 解决问题 pymssql连接数据库,插入记录显示乱码,python输出也乱码 连接语句 conn ...

  7. Python连接MySQL数据库执行sql语句时的参数问题

    由于工作需要,今天写了一个Python小脚本,其中需要连接MySQL数据库,在执行sql命令时需要传递参数,结果出问题了.在网上查了一下,发现有以下几种方式传递参数: 一.直接把sql查询语句完整写入 ...

  8. PL\SQL 打开时出现动态执行表不可访问,本会话的自动统计被禁止

    PL\SQL 打开时出现"动态执行表不可访问,本会话的自动统计被禁止" 博客分类:  数据库 SQLBlog 转自:http://hi.baidu.com/victorlin23/ ...

  9. 在安装sql server时出现“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机”错误。...

    在安装sql server时出现"以前的某个程序安装已在安装计算机上创建挂起的文件操作.运行安装程序之前必须重新启动计算机"错误.无法进行下去. 这个问题,以前我遇到过,知道是删除 ...

最新文章

  1. 15个最佳的代码评审(Code Review)工具
  2. python密码生成器的3种方法
  3. php文件引用问题,Php引用文件引起的空白行问题(UTF-8)
  4. Java - 安装jdk并设置环境变量
  5. 在WCF中启用事务的6个步骤
  6. 编程范式之rotate操作
  7. js接收php 回调,JS callback回调函数的使用(附代码)
  8. php自动tag,帝国cms自动增加TAG关键字教程
  9. map集合和javabean对象之间相互转换方法
  10. 微信无法打开xlsx文件_微信电脑版接收的文件打不开怎么办?解决方法
  11. 超几何分布检验(hypergeometric test)与费歇尔精确检验(fisher's exact test)
  12. 记录服务磁盘满了清理记录
  13. 韩寒《三重门》精彩语录
  14. 执念斩长河专栏数据结构--目录
  15. 好像记得有个人喜欢我
  16. Allegro PCB Design GXL (legacy) - 新建绘图(PCB),设置单位、坐标、栅格间距等参数
  17. request.getSession().setAttribute()和 request.setAttribute()
  18. 2020年十大币预测_2020年的5种技术预测
  19. linux进程时钟时间,Linux的时钟
  20. BIM模型轻量化的方法总结

热门文章

  1. 现场感受bsb演唱会
  2. 软件测试设计测试用例方法
  3. 《影响力》,到底有多可怕?
  4. 第二十六讲项目1-投票表决器
  5. 弹出式导航html,基于JS代码实现导航条弹出式悬浮菜单
  6. xray简单使用指南
  7. 一个相同的域名解析到多个ip,勉强实现负载均衡
  8. 达梦数据库存储过程注意事项
  9. Adboe全家桶办公软件
  10. iPhone 的一些必备软件