首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

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

2012-10-30 
统计出在N分钟(10、20、30分钟等变量)内,访问次数超过5次的记录有一个日志表tab_1,字段:user_id和visit_date

统计出在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 记录 awhere 5<=(select count(*) from 记录 where 登录人=a.登录人 and 登录时间 between a.登录时间 and a.登录时间+interval 5 minute); 

热点排行