+ -
当前位置:首页 → 问答吧 → 新手求一个问题

新手求一个问题

时间:2011-12-19

来源:互联网

各位大侠,我这有一组数据,格式如下 :
  A B  
12/16/11 07:10:03 824-S1
12/16/11 07:10:03 824-S2
12/16/11 07:10:03 824-S3
12/16/11 07:14:03 824-S1
12/16/11 07:14:03 824-S3
12/16/11 07:14:03 824-S2
12/16/11 07:18:03 824-S1
12/16/11 07:18:03 824-S3
12/16/11 07:18:03 824-S2
12/16/11 07:22:03 824-S1
12/16/11 07:22:03 824-S2
12/16/11 07:22:03 824-S3
12/16/11 09:06:03 824-S3
12/16/11 09:06:03 824-S2
12/16/11 09:06:03 824-S1
12/16/11 09:10:03 824-S1
12/16/11 09:10:03 824-S3
12/16/11 09:10:03 824-S2
12/16/11 09:14:04 824-S1
12/16/11 09:14:04 824-S2
12/16/11 09:14:04 824-S3
12/16/11 09:18:03 824-S2
12/16/11 09:18:03 824-S3
12/16/11 09:18:03 824-S1
12/16/11 09:22:04 824-S1
12/16/11 09:22:04 824-S2
12/16/11 09:22:04 824-S3
12/16/11 09:26:03 824-S3
12/16/11 09:26:03 824-S2
12/16/11 09:26:03 824-S1
12/16/11 09:30:05 824-S1
12/16/11 09:30:05 824-S2
12/16/11 09:30:05 824-S3
12/16/11 09:34:04 824-S3
12/16/11 09:34:04 824-S2
12/16/11 09:34:04 824-S1
12/16/11 09:38:04 824-S1
12/16/11 09:38:04 824-S3
12/16/11 09:38:04 824-S2
12/16/11 09:42:03 824-S1
12/16/11 09:42:03 824-S2
12/16/11 09:42:03 824-S3
12/16/11 09:46:04 824-S2
12/16/11 09:46:04 824-S1
12/16/11 09:46:04 824-S3
12/16/11 09:50:04 824-S1
12/16/11 09:50:04 824-S2
12/16/11 09:50:04 824-S3
12/16/11 09:54:03 824-S3
12/16/11 09:54:03 824-S1
12/16/11 09:54:03 824-S2
12/16/11 09:58:03 824-S1
12/16/11 09:58:03 824-S3
12/16/11 09:58:03 824-S2
12/16/11 10:02:04 824-S1
12/16/11 10:02:04 824-S3
12/16/11 10:02:04 824-S2
12/16/11 10:06:04 824-S2
12/16/11 10:06:04 824-S1
12/16/11 10:06:04 824-S3
12/16/11 10:10:04 824-S1
12/16/11 10:10:04 824-S2
12/16/11 10:10:04 824-S3

A列是时间,B列是值。我现在想做一个筛选,就是如果B列中存在相同的值,同时如果B列值对应的时间连续间隔是3:59秒,4:00秒或4:01秒,那我只保留时间最早的那一个;如果连续间隔超过4:01秒,那我也要保留下一个....举个例子:
就这组据来看,比如前面一段:
12/16/11 07:10:03 824-S1
12/16/11 07:10:03 824-S2
12/16/11 07:10:03 824-S3
12/16/11 07:14:03 824-S1
12/16/11 07:14:03 824-S3
12/16/11 07:14:03 824-S2
12/16/11 07:18:03 824-S1
12/16/11 07:18:03 824-S3
12/16/11 07:18:03 824-S2
12/16/11 07:22:03 824-S1
12/16/11 07:22:03 824-S2
12/16/11 07:22:03 824-S3

12/16/11 07:10:03 824-S1, 12/16/11 07:14:03 824-S1, 12/16/11 07:18:02 824-S1,
12/16/11 07:22:04 824-S1这几条记录的值都是824-S1,但是时间间隔是3:59秒,4:00,4:01秒,所以我只要保留时间最早的那一条,也就是12/16/11 07:10:03 824-S1条.同样,对于824-S2,824-S3也是取最早的那一条.

但是对于下面的
12/16/11 07:22:03 824-S1
12/16/11 07:22:03 824-S2
12/16/11 07:22:03 824-S3
12/16/11 09:06:03 824-S3
12/16/11 09:06:03 824-S2
12/16/11 09:06:03 824-S1
12/16/11 09:10:03 824-S1
12/16/11 09:10:03 824-S3
12/16/11 09:10:03 824-S2
12/16/11 09:14:04 824-S1
12/16/11 09:14:04 824-S2
12/16/11 09:14:04 824-S3

里面有这样的数据:
12/16/11 07:22:03 824-S3
12/16/11 09:06:03 824-S3
虽然824-S3一样,但是由于时间间隔不是3:59,4:00,4:01秒,所以我还是需要保留12/16/11 09:06:03 824-S3,那下面的12/16/11 09:06:03 824-S3, 12/16/11 09:10:03 824-S3, 12/16/11 09:14:04 824-S3这三条由于间隔又是4分钟,我就不需要了....

不知道上面的叙述清楚没有啊,呵呵

作者: hfbenben   发布时间: 2011-12-19

没人帮解答么。。。

作者: hfbenben   发布时间: 2011-12-26

写存储过程来搞定吧,一个SQL语句很难搞定它。

作者: LuiseRADL   发布时间: 2011-12-26

不会哦。。

作者: hfbenben   发布时间: 2011-12-26

上个帖子先结掉吧 这个 时间判断起来 有点麻烦

作者: HJ_daxian   发布时间: 2011-12-26

引用 2 楼 luiseradl 的回复:

写存储过程来搞定吧,一个SQL语句很难搞定它。
++

作者: myhaikuotiankong   发布时间: 2011-12-26