请教一个统计语句或者解决办法
现有一张网民上下机日志表 pblog_clientlist
表机构如下:
id 主键
service_code 网吧编号
user_name 上网人员姓名
certificate_code 身份证号
online_time 上机时间
offline_time 下机时间
示例数据
id        service_code      user_name    certificate_code   online_time            offline_time   
1         61040310556995    a            1111111111111111   2011-12-05 12:23:00    2011-12-05 13:00:00
2         61040310556995    b            2222222222222222   2011-12-05 12:21:00    2011-12-05 13:05:00
3         61040310556996    a            1111111111111111   2011-12-05 13:23:00    2011-12-05 14:02:00
4         61040310556996    b            2222222222222222   2011-12-05 13:25:00    2011-12-05 14:00:00
5         61040310556995    c            3333333333333333   2011-12-05 15:53:00    2011-12-05 18:40:00
6         61040310556995    d            4444444444444444   2011-12-05 16:38:00    2011-12-05 17:30:00
需求说明:
现在需要查询网民的同时换场记录
1、如数据中的a和b在网吧61040310556995同时上机,然后同时下机(上下机前后相差5分钟内就算同时)
2、然后a和b换到网吧61040310556996再同时上机,同时下机
3、以上的1-4条记录即表示a和b同时换场,现在需要查询这样的记录,5-6条记录不算同时换场
各位帮忙给点思路或者解决方案。。。。纠结很久了。。。万分感谢!
------解决方案--------------------
即查询在一个网吧,上机时间相差5分钟,同时下机时间也相差5分钟。
然后,这2个或多个人,在另一网吧也同时上机相关5分钟,同时下机时间也只相差5分钟的,网民。
是这个意思不?
------解决方案--------------------
select  t1.*  
from pblog_clientlist t1, pblog_clientlist t2
  where t1.service_code = t2.service_code
  and t1.user_name <> t2.user_name
  and abs(t1.online_time - t2.online_time)*24*60 <= 5
  and abs(t1.offline_time - t2.offline_time)*24*60 <= 5
------解决方案--------------------
------解决方案--------------------你这是在国家安全部门做东西是不