如何统计每个小时用户在线人数?

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

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

时间: 2024-07-29 16:03:20

如何统计每个小时用户在线人数?的相关文章

Asp.Net MVC3.0网站统计登录认证的在线人数

Asp.Net MVC3.0网站统计登录认证的在线人数 前言 对于一个网站来说,统计在线人数是一个很重要的工作.平时也发现很多的网站论坛等都有在线人数的显示.对于一个网站如果在线人数很多,用户看到了这么个数字也是很了不起的事情.由于之前对于这个知识点只是知道,并没有去了解过,这两天偶然的机会又看到了,于是自己整理了一个简单的版本,也方便让大家来给提提意见. 本文主要通过Application和Session全局来统计在线人数,暂时只统计登录验证过的.实现的大致方案如下: 1.在全局应用程序启动的

使用Spark进行搜狗日志分析实例——统计每个小时的搜索量

1 package sogolog 2 3 import org.apache.spark.rdd.RDD 4 import org.apache.spark.{SparkConf, SparkContext} 5 6 /** 7 * 统计每小时搜索次数 8 */ 9 /* 10 搜狗日志示例 11 访问时间(时:分:秒) 用户ID [查询词] 该URL在返回结果中的排名 用户点击的顺序号 用户点击的URL 12 00:00:00 2982199073774412 [360安全卫士] 8 3 d

MySQL按时间统计每个小时记录数

MySQL按时间统计每个小时记录数 方案1: ? 1 2 3 4 5 6 7 SELECT  @rownum := @rownum + 1 AS ID,         CONCAT((CASE WHEN t.hour = 24 THEN 0 ELSE t.hour END),':00:00') AS TIME, COUNT(*) AS COUNT FROM (SELECT id, HOUR(DATE_FORMAT(createtime,'%H:%i:%s'))+1 AS HOUR FROM b

final发布48小时用户调查报告

组名称:金州勇士 项目名称:在线考试系统 小组成员:尹良亮(组长).王汉斌.闫浩楠.杜月 开始时间2016年12月1号15:05 ,截止时间12月3号8:30,用户数为6 项目分享链接:http://123.207.159.79:8080/exam/ 项目推广方式:QQ群组.说说:微信群聊.朋友圈 用户反馈方式:QQ.微信等私信 48小时统计的用户数为:6人 用户反馈统计: Q1:对系统整体的评价?(指标:系统整体:赋值范围:整体感受包括浏览.操作)        反馈人数:6: 用户1:挺好玩

Powershell管理系列(三十)PowerShell操作之统计邮箱的用户信息

-----提供AD\Exchange\Lync\Sharepoint\CRM\SC\O365等微软产品实施及外包,QQ:185426445.电话18666943750 用户需要统计邮箱用户的具体信息,如登陆名,邮箱地址,公司名,部门等,这些信息可以通过不通的命令查询到,我们如何通过脚本把这些信息汇总到一起,命令如下: 步骤1.在powershell命令行输入如下命令 Add-PSSnapin microsoft.exchange*$user=Get-User -ResultSize unlimi

统计每小时数据的处理

有人问在数据库中得到某个小时有多少条的的统计数据,但是一天24个小时,想让那些时间没有数据的显示0,该如何处理呢? 比如我们得到数组 <?php $array1=array( "00"=>1, "01"=>2, "22"=>3, "23"=>4, ); ?> 凌晨 一点  22点 23点都有数据,可是其他时间没有数据,该怎么自动的填充为0呢? 方式1.循环处理 <?php $array

asp.net MVC 统计在线人数功能实现

今天开发一个设计一个统计在线人数的统计.实现方式是在MVC 中,用户次执行一个Action请求完成后,向数据表中插入一条用户心跳记录,统计在线人数则是根据该记录,30分钟内有记录的用户则为在线状态. 首先设计表心跳记录表结构MOdel 接下来添加 CheckACAttribute 类继承 ActionFilterAttribute基类,并在FilterConfig类中注册. public class FilterConfig    {        public static void Regi

构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(39)-在线人数统计探讨

原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(39)-在线人数统计探讨 系列目录 基于web的网站在线统计一直处于不是很精准的状态!基本上没有一种方法可以确实的统计在线用户! Discuz!NT 在线用户功能算是做得比较好的!参考资料 他的原理大致是根据用户的操作间隔来确定用户是否在线,也可以理解为操作日志,当系统扫描的日志间隔太长将被理解为用户离线,所以要不断的更新操作表和操作表日益增长的烦恼,所以必须定时的清除操作表,当系统启动时要重置表数据!

Javaweb统计在线人数的小栗子

最近在学习Javaweb相关的内容(不黑不吹之前对web开发零基础),下面通过一个统计在线人数的小栗子讲讲Servlet监听器吧 开发环境 eclipse  tomcat 7 先说说这个小栗子的构思: 首先要考虑的就是通过什么方式能够统计在线人数?很容易想到可以通过session来统计在线人数为什么不是request呢?因为request在请求结束时即服务器返回资源时就被销毁了,也就是说request的作用域不足以用以统计在线人数.服务器在第一次接受一个用户请求时会给该用户分配一个session