下列数据是某个用户登录时间,因为log日志出现bug,部分记录出现断断续续,请问各位大神有什么办法把记录合并。前后记录在120秒内视为连续,超过120秒视为不连续数据:
start_time end_time
2016-07-06 21:18:52 2016-07-06 21:34:53
2016-07-06 23:45:11 2016-07-06 23:47:07
2016-07-06 23:47:11 2016-07-06 23:49:07
2016-07-06 23:49:11 2016-07-06 23:51:07
2016-07-06 23:51:11 2016-07-06 23:53:07
2016-07-06 23:53:11 2016-07-06 23:55:07
2016-07-06 23:55:11 2016-07-06 23:57:07
2016-07-06 23:57:11 2016-07-06 23:59:07
2016-07-06 23:59:11 2016-07-07 0:01:07
2016-07-07 0:01:11 2016-07-07 0:03:07
2016-07-07 0:03:11 2016-07-07 0:05:07
2016-07-07 0:05:11 2016-07-07 0:07:07
2016-07-07 23:50:40 2016-07-07 23:51:40
2016-07-07 23:52:40 2016-07-07 23:53:40
2016-07-07 23:54:40 2016-07-07 23:55:40
2016-07-07 23:56:40 2016-07-07 23:57:40
2016-07-07 23:58:40 2016-07-07 23:59:40
2016-07-08 0:00:40 2016-07-08 0:01:40
2016-07-08 0:02:40 2016-07-08 0:03:40
2016-07-08 0:04:40 2016-07-08 0:05:40
2016-07-08 0:06:40 2016-07-08 0:07:40
2016-07-08 13:50:48 2016-07-08 14:38:55
2016-07-11 23:30:38 2016-07-11 23:54:38
2016-07-14 22:59:28 2016-07-14 23:00:24
2016-07-14 23:01:27 2016-07-14 23:02:24
2016-07-14 23:03:29 2016-07-14 23:04:24
2016-07-14 23:05:27 2016-07-14 23:06:24
2016-07-14 23:07:27 2016-07-14 23:08:24
2016-07-14 23:09:27 2016-07-14 23:10:24
2016-07-14 23:11:27 2016-07-14 23:12:24结果:
2016-07-06 21:18:52 2016-07-06 21:34:53
2016-07-06 23:45:11 2016-07-07 0:07:07
2016-07-07 23:50:40 2016-07-08 0:07:40
2016-07-11 23:30:38 2016-07-11 23:54:38
start_time end_time
2016-07-06 21:18:52 2016-07-06 21:34:53
2016-07-06 23:45:11 2016-07-06 23:47:07
2016-07-06 23:47:11 2016-07-06 23:49:07
2016-07-06 23:49:11 2016-07-06 23:51:07
2016-07-06 23:51:11 2016-07-06 23:53:07
2016-07-06 23:53:11 2016-07-06 23:55:07
2016-07-06 23:55:11 2016-07-06 23:57:07
2016-07-06 23:57:11 2016-07-06 23:59:07
2016-07-06 23:59:11 2016-07-07 0:01:07
2016-07-07 0:01:11 2016-07-07 0:03:07
2016-07-07 0:03:11 2016-07-07 0:05:07
2016-07-07 0:05:11 2016-07-07 0:07:07
2016-07-07 23:50:40 2016-07-07 23:51:40
2016-07-07 23:52:40 2016-07-07 23:53:40
2016-07-07 23:54:40 2016-07-07 23:55:40
2016-07-07 23:56:40 2016-07-07 23:57:40
2016-07-07 23:58:40 2016-07-07 23:59:40
2016-07-08 0:00:40 2016-07-08 0:01:40
2016-07-08 0:02:40 2016-07-08 0:03:40
2016-07-08 0:04:40 2016-07-08 0:05:40
2016-07-08 0:06:40 2016-07-08 0:07:40
2016-07-08 13:50:48 2016-07-08 14:38:55
2016-07-11 23:30:38 2016-07-11 23:54:38
2016-07-14 22:59:28 2016-07-14 23:00:24
2016-07-14 23:01:27 2016-07-14 23:02:24
2016-07-14 23:03:29 2016-07-14 23:04:24
2016-07-14 23:05:27 2016-07-14 23:06:24
2016-07-14 23:07:27 2016-07-14 23:08:24
2016-07-14 23:09:27 2016-07-14 23:10:24
2016-07-14 23:11:27 2016-07-14 23:12:24结果:
2016-07-06 21:18:52 2016-07-06 21:34:53
2016-07-06 23:45:11 2016-07-07 0:07:07
2016-07-07 23:50:40 2016-07-08 0:07:40
2016-07-11 23:30:38 2016-07-11 23:54:38
解决方案 »
- 数据库awr报告分析求教!
- entos下安装oracle11g成功后调sqlplus命令提示找不到:
- not exists 提高查询效率的问题
- 求救,oracle头疼问题 熬一个晚上了 没有解决(在线等)
- oracle移植多国语言问题
- *走过路过进来坐坐呀* 如何实现oracle数据库和sqlserver数据库远程同步?
- 不同用户下的表,如何抽取
- 有人知道Oracle能象Excel一样可以处理多元线性回归吗?
- oracle中的选者输入怎么做啊
- 对于一个已经存在数据的表是否可以加入直接外键,如果可以,写出SQL语句,如果不能直接加,怎样间接加上?
- 远程shell linux 服务器 进去oracle 数据库报错
- django.db.utils.DatabaseError: ORA-12541: TNS:no listener
select to_char(end_time,'yyyymmddhh24miss')-to_char(start_time,'yyyymmddhh24miss') from tab;
where to_char(end_time,'yyyymmddhh24miss')-to_char(start_time,'yyyymmddhh24miss')>200;
where (end_time- start_time)*24*60*60>120;
这样应该也可以,未测试
因为前后记录取值是动态的,不能准确每一段区间最小开始时间,和最大的结束时间
那建议使用存储过程处理吧,太复杂的sql效率也不会高的~