系统有一个表记录用户登录、登出的日志,现在以一个小时为段,统计出在线人数,这是一个数学问题。

情况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;

如何统计每个小时用户在线人数?相关推荐

  1. [JavaWeb]基于litener的在线人数统计,通过统计ip地址和用户名信息,来获取用户在线人数

    思考:不可以通过sessionid来统计用户在线人数,因为session的作用域仅仅在一个浏览器上,换一个浏览器就会产生不同的sessionid.所以考虑使用ip地址来统计用户在线人数. 参考博客: ...

  2. Oracle 真的有参数可以 1s 统计完 200G用户下的所有对象么?

    链接:http://blog.itpub.net/28602568/viewspace-1429058/ 标题:Oracle 真的有参数可以 1s 统计完 200G用户下的所有对象么? 作者:lōττ ...

  3. oracle 造数据脚本_Oracle数据库shell脚本--统计所有数据库用户信息及明细

    概述 今天主要分享一下两个shell脚本,主要是为了查看所有数据库用户及其表空间,统计某个指定用户的明细,下面一起来看看吧~ 数据库连接脚本 use script settdb.sh for DB l ...

  4. oracle同一个示例两个用户的数据同步_分享两个shell脚本--一键统计Oracle数据库用户信息...

    概述 今天主要分享一下两个shell脚本,主要是为了查看所有数据库用户及其表空间,统计某个指定用户的明细,下面一起来看看吧~ 数据库连接脚本 use script settdb.sh for DB l ...

  5. 后台管理系统、商品管理、商品发布、商品回收、订单管理、退款管理、运营管理、商城设置、导航分类、营销管理、优惠券套餐、数据统计、活跃用户、数据埋点、财务管理、对账单、财务数据、账户资产、电商后台

    后台管理系统.商品管理.商品发布.商品回收.订单管理.退款管理.运营管理.商城设置.导航分类.营销管理.优惠券套餐.数据统计.活跃用户.数据埋点.财务管理.对账单.财务数据.账户资产.账号管理.电商后 ...

  6. web端业务数据管理平台+Axure运营数据管理平台+月度数据统计分析+年度排行榜数据统计页面分析+运营大数据统计管理后台+用户信息管理+Axure通用web端高保真交互业务数据管理平台

    作品介绍:原型内容包含:web端业务数据管理平台+Axure运营数据管理平台+月度数据统计分析+年度排行榜数据统计页面分析+运营大数据统计管理后台+用户信息管理+Axure通用web端高保真交互业务数 ...

  7. mysql统计24小时数据

    示例1:根据时间点统计个数 SELECTDATE_FORMAT(create_time,'%Y-%m-%d %H') AS date,COUNT( * ) AS dateCountFROMsys_me ...

  8. python根据excel时间表统计24小时各小时区间点的个数

    1.首先使用excel中的HOUR()函数,将日期数据(年/月/日 时:分:秒)转换为小时,表格命名为hour.xlsx: 2.使用python读取excel数据hour.xlsx,将小时列转换为列表 ...

  9. 使用hive和sqoop来实现统计24小时每个时段的PV和UV,storm计算网站UV(去重计算模式)

    [案例]使用hive和sqoop来实现网站基本指标,PV和UV 1.PV统计网页浏览总量 2.UV去重 ->[需求]统计24小时每个时段的PV和UV ->建分区表,按天一级,按小时一级,多 ...

最新文章

  1. 南加大提出NeROIC:还有什么不能渲染的?重建效果太强悍了
  2. CustomValidator验证控件的ServerValidate事件
  3. java难点在哪里_java的难点在哪?
  4. ASP.NET-Session cooike
  5. DelayQueue源码
  6. oracle行迁移实验,Oracle 行迁移 amp; 行链接的检测与消除
  7. 定期定量采购_?采购计划员必备:各种物料采购计划与订单制定的技巧与方法...
  8. C语言const关键字—也许该被替换为readolny
  9. javascript在第三个文本框中显示文字_一段中的个别文字,显示在目录中
  10. OMNeT++学习程序 4
  11. 涂抹果酱_如何玩果酱
  12. api-ms-win-crt-process-l1-1-0.dll 丢失的处理,遇到问题和完美解决
  13. word 的使用(六)—— 常用功能
  14. spring boot 报错
  15. FPN网络详解(知识点记录)
  16. 单元测试总结反思_语文期中考试总结反思
  17. linux系统盘下垃圾文件,Linux版一键清理系统垃圾文件
  18. 《Linux C编程环境》 课程大实验 及近期练习题:计算器,复写机,目录树创建,批处理执行器,扫雷
  19. 题解1211判断元素是否存在
  20. 鸿蒙手机系统新桌面布局,鸿蒙系统是什么样的界面,详解华为鸿蒙系统

热门文章

  1. 优秀,好用,一年使用经验推荐给你几款优秀的程序员一定要知道的画图工具
  2. SOLIDWORKS Simulation攻略丨赫兹接触应力分析
  3. 微信推文中图片无法保存的解决方案
  4. 在暑期实习时需要注意些什么
  5. 平面漩涡Shader
  6. 服务器单核和多核性能,单核性能重要还是多核性能重要?
  7. ora-20085 ora-06512错误解决
  8. HDU 4745 Two Rabbits——最长回文子串
  9. python时间戳是什么意思_Python-时间戳
  10. Win11 解决 资源管理器和右键问题