如何统计每个小时用户在线人数?
系统有一个表记录用户登录、登出的日志,现在以一个小时为段,统计出在线人数,这是一个数学问题。
情况1:
|___________一个小时____________|
<=登录时间 登出时间<=
情况2:
|___________一个小时____________|
登录时间 < < 登出时间
情况3:
|___________一个小时____________|
登录时间 <= 登出时间<=
情况4:
|___________一个小时____________|
<=登录时间 < 登出时间
with dd as( --模拟出24个小时时段
SELECT (trunc(to_date('2015-02-09', 'yyyy-mm-dd')) + (LEVEL - 1) / 24) one_hour_1,
(trunc(to_date('2015-02-09', 'yyyy-mm-dd')) + LEVEL / 24) one_hour_2
FROM dual
CONNECT BY LEVEL <= 24
)
SELECT dd.one_hour_1, COUNT(1)
FROM log_user_login d,
dd
WHERE (d.login_time >= dd.one_hour_1 AND d.exit_time <= dd.one_hour_2)
OR (d.login_time < dd.one_hour_1 AND d.exit_time BETWEEN dd.one_hour_1 AND dd.one_hour_2)
OR (d.login_time BETWEEN dd.one_hour_1 AND dd.one_hour_2 AND d.exit_time > dd.one_hour_2)
OR (d.login_time < dd.one_hour_1 AND d.exit_time > dd.one_hour_2)
GROUP BY dd.one_hour_1
ORDER BY dd.one_hour_1;
如何统计每个小时用户在线人数?相关推荐
- [JavaWeb]基于litener的在线人数统计,通过统计ip地址和用户名信息,来获取用户在线人数
思考:不可以通过sessionid来统计用户在线人数,因为session的作用域仅仅在一个浏览器上,换一个浏览器就会产生不同的sessionid.所以考虑使用ip地址来统计用户在线人数. 参考博客: ...
- Oracle 真的有参数可以 1s 统计完 200G用户下的所有对象么?
链接:http://blog.itpub.net/28602568/viewspace-1429058/ 标题:Oracle 真的有参数可以 1s 统计完 200G用户下的所有对象么? 作者:lōττ ...
- oracle 造数据脚本_Oracle数据库shell脚本--统计所有数据库用户信息及明细
概述 今天主要分享一下两个shell脚本,主要是为了查看所有数据库用户及其表空间,统计某个指定用户的明细,下面一起来看看吧~ 数据库连接脚本 use script settdb.sh for DB l ...
- oracle同一个示例两个用户的数据同步_分享两个shell脚本--一键统计Oracle数据库用户信息...
概述 今天主要分享一下两个shell脚本,主要是为了查看所有数据库用户及其表空间,统计某个指定用户的明细,下面一起来看看吧~ 数据库连接脚本 use script settdb.sh for DB l ...
- 后台管理系统、商品管理、商品发布、商品回收、订单管理、退款管理、运营管理、商城设置、导航分类、营销管理、优惠券套餐、数据统计、活跃用户、数据埋点、财务管理、对账单、财务数据、账户资产、电商后台
后台管理系统.商品管理.商品发布.商品回收.订单管理.退款管理.运营管理.商城设置.导航分类.营销管理.优惠券套餐.数据统计.活跃用户.数据埋点.财务管理.对账单.财务数据.账户资产.账号管理.电商后 ...
- web端业务数据管理平台+Axure运营数据管理平台+月度数据统计分析+年度排行榜数据统计页面分析+运营大数据统计管理后台+用户信息管理+Axure通用web端高保真交互业务数据管理平台
作品介绍:原型内容包含:web端业务数据管理平台+Axure运营数据管理平台+月度数据统计分析+年度排行榜数据统计页面分析+运营大数据统计管理后台+用户信息管理+Axure通用web端高保真交互业务数 ...
- mysql统计24小时数据
示例1:根据时间点统计个数 SELECTDATE_FORMAT(create_time,'%Y-%m-%d %H') AS date,COUNT( * ) AS dateCountFROMsys_me ...
- python根据excel时间表统计24小时各小时区间点的个数
1.首先使用excel中的HOUR()函数,将日期数据(年/月/日 时:分:秒)转换为小时,表格命名为hour.xlsx: 2.使用python读取excel数据hour.xlsx,将小时列转换为列表 ...
- 使用hive和sqoop来实现统计24小时每个时段的PV和UV,storm计算网站UV(去重计算模式)
[案例]使用hive和sqoop来实现网站基本指标,PV和UV 1.PV统计网页浏览总量 2.UV去重 ->[需求]统计24小时每个时段的PV和UV ->建分区表,按天一级,按小时一级,多 ...
最新文章
- 南加大提出NeROIC:还有什么不能渲染的?重建效果太强悍了
- CustomValidator验证控件的ServerValidate事件
- java难点在哪里_java的难点在哪?
- ASP.NET-Session cooike
- DelayQueue源码
- oracle行迁移实验,Oracle 行迁移 amp; 行链接的检测与消除
- 定期定量采购_?采购计划员必备:各种物料采购计划与订单制定的技巧与方法...
- C语言const关键字—也许该被替换为readolny
- javascript在第三个文本框中显示文字_一段中的个别文字,显示在目录中
- OMNeT++学习程序 4
- 涂抹果酱_如何玩果酱
- api-ms-win-crt-process-l1-1-0.dll 丢失的处理,遇到问题和完美解决
- word 的使用(六)—— 常用功能
- spring boot 报错
- FPN网络详解(知识点记录)
- 单元测试总结反思_语文期中考试总结反思
- linux系统盘下垃圾文件,Linux版一键清理系统垃圾文件
- 《Linux C编程环境》 课程大实验 及近期练习题:计算器,复写机,目录树创建,批处理执行器,扫雷
- 题解1211判断元素是否存在
- 鸿蒙手机系统新桌面布局,鸿蒙系统是什么样的界面,详解华为鸿蒙系统