sql 求同时在线人数(或者同时观看人数/同时浏览人数)
模拟场景
例如登陆表
解决方案
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 求同时在线人数(或者同时观看人数/同时浏览人数)相关推荐
- SQL解决最多同时在线人数问题(同时视频观看人数,同时浏览人数,同时等车人数)
SQL解决最多同时在线人数问题(同时视频观看人数,同时浏览人数,同时等车人数) 内容目录 SQL解决最多同时在线人数问题(同时视频观看人数,同时浏览人数,同时等车人数) 一.要解决的问题 二.如何解决 ...
- SQL解决去重问题(在线超10min中的人数等)
SQL解决去重问题(在线超10min中的人数等) 内容目录 SQL解决去重问题(在线超10min中的人数等) 一.描述 二.求解 1.思路1 2.思路2 三.牛客的SQL33:直播各科出勤率 一.描述 ...
- mysql 运行sql 编码_关于解决运行 sql 文件时, 找不到 MySQL 默认编码 utf8mb4 的问题...
关于解决运行 sql 文件时, 找不到 MySQL 默认编码 utf8mb4 的问题 本人小白一名, 最近碰到了一个问题, 在 navicat 导入 MySQL 文件时, 报出 MySQL 找不到 u ...
- SQL安装时出现“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运作安装程序之前必须重新启动计算机”...
SQL安装时出现"以前的某个程序安装已在安装计算机上创建挂起的文件操作.运作安装程序之前必须重新启动计算机",但是重启了N次也没用. .net 2003安装问题-安装程序检测到另一 ...
- 在Hive中执行DDL之类的SQL语句时遇到的一个问题
在Hive中执行DDL之类的SQL语句时遇到的一个问题 作者:天齐 遇到的问题如下: hive> create table ehr_base(id string); FAILED: Execut ...
- 成功解决:连接sql server时插入数据库内容为乱码,并且输出也为乱码
成功解决:连接sql server时插入数据库内容为乱码,并且输出也为乱码 目录 解决问题 解决办法 解决问题 pymssql连接数据库,插入记录显示乱码,python输出也乱码 连接语句 conn ...
- Python连接MySQL数据库执行sql语句时的参数问题
由于工作需要,今天写了一个Python小脚本,其中需要连接MySQL数据库,在执行sql命令时需要传递参数,结果出问题了.在网上查了一下,发现有以下几种方式传递参数: 一.直接把sql查询语句完整写入 ...
- PL\SQL 打开时出现动态执行表不可访问,本会话的自动统计被禁止
PL\SQL 打开时出现"动态执行表不可访问,本会话的自动统计被禁止" 博客分类: 数据库 SQLBlog 转自:http://hi.baidu.com/victorlin23/ ...
- 在安装sql server时出现“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机”错误。...
在安装sql server时出现"以前的某个程序安装已在安装计算机上创建挂起的文件操作.运行安装程序之前必须重新启动计算机"错误.无法进行下去. 这个问题,以前我遇到过,知道是删除 ...
最新文章
- 15个最佳的代码评审(Code Review)工具
- python密码生成器的3种方法
- php文件引用问题,Php引用文件引起的空白行问题(UTF-8)
- Java - 安装jdk并设置环境变量
- 在WCF中启用事务的6个步骤
- 编程范式之rotate操作
- js接收php 回调,JS callback回调函数的使用(附代码)
- php自动tag,帝国cms自动增加TAG关键字教程
- map集合和javabean对象之间相互转换方法
- 微信无法打开xlsx文件_微信电脑版接收的文件打不开怎么办?解决方法
- 超几何分布检验(hypergeometric test)与费歇尔精确检验(fisher's exact test)
- 记录服务磁盘满了清理记录
- 韩寒《三重门》精彩语录
- 执念斩长河专栏数据结构--目录
- 好像记得有个人喜欢我
- Allegro PCB Design GXL (legacy) - 新建绘图(PCB),设置单位、坐标、栅格间距等参数
- request.getSession().setAttribute()和 request.setAttribute()
- 2020年十大币预测_2020年的5种技术预测
- linux进程时钟时间,Linux的时钟
- BIM模型轻量化的方法总结