统计出在N分钟(十、20、30分钟等变量)内,访问次数超过5次的记录

统计出在N分钟(10、20、30分钟等变量)内,访问次数超过5次的记录

有一个日志表tab_1,字段:user_id和visit_datetime

表示登录人和登录时间。

记录:

1 2012-10-17 15:41:00

1 2012-10-17 15:42:00

2 2012-10-17 15:43:00

3 2012-10-17 15:44:00

4 2012-10-17 15:45:00

5 2012-10-17 15:46:00

6 2012-10-17 15:47:00

7 2012-10-17 15:48:00

8 2012-10-17 15:49:00

1 2012-10-17 15:50:00

2 2012-10-17 15:51:00

。。。

现在要统计出一些数据,每个登录人,在某一天内,如果在10(或20分钟、30分钟,是变量)分钟内,

访问次数超过5次的记录,统计出来。如结果:

1 2012-10-17 15:41:00

1 2012-10-17 15:42:00

1 2012-10-17 15:43:00

1 2012-10-17 15:44:00

1 2012-10-17 15:45:00

1 2012-10-17 15:50:00

2 2012-10-17 15:41:00

2 2012-10-17 15:42:00

。。。。。

我的思路是分为先对一天的时间分段:如:

2012-10-17 00:00:00 -2012-10-17 00:10:00

2012-10-17 00:10:00 -2012-10-17 00:20:00

2012-10-17 00:20:00 -2012-10-17 00:30:00

。。。

2012-10-17 23:50:00 -2012-10-17 23:59:99

然后用分组group的方法计算出来。

怎么写一个sql语句,求出结果。



SQL code

select *
from 记录 a
where 5<=(select count(*) from 记录 where 登录人=a.登录人 and 登录时间 between a.登录时间 and a.登录时间+interval 5 minute);


                        
  
  
                    
统计出在N分钟(十、20、30分钟等变量)内,访问次数超过5次的记录

相关文章:

你感兴趣的文章:

标签云: