日期:2014-05-18  浏览次数:20473 次

SQL SERVER2000 通过时间间隔来查询表,新手求调教
数据库里面有一些数据 每一条记录 都有一个datatime的项

我想从第一条开始 往后 每间隔5分钟 提取一条记录 请问怎么写SQL语句?
例如第一条是 2:10:21
那么第二条要提取的就是 2:15的内容
第三条要提取的就是 2:20的内容

  因为秒数记录时间不同, 所以要忽略秒数的不同 按照'分'来作为提取的条件

有几个问题
 1、必须从0:00:00开始查起,如果 0:00:00 没有数据 要从最近的一个时间段开始查起(这里是2:10:21)
2、因为某种原因,导致有的数据间隔超过了5分钟 例如第六条数据 3:19:22
遇到这种情况按照5分钟间隔来,就取不到数据了,这个时候就要找离上一条也就是第五条数据最近的一个时间来取(也就是第六条了)。
查询到的东西放在一个新表里面
请问怎么实现?

2:10:21
2:11:51
2:13:51
2:15:51
2:17:21
3:19:22
3:20:52
3:22:52
3:24:22
3:26:22
3:28:22
3:29:52
3:31:53
3:33:53
3:35:23
3:36:53
3:38:53
3:40:23
4:42:23
4:43:54
......

------解决方案--------------------
探讨

引用:
SQL code
create table tb(dt datetime)
insert into tb select '2:10:21'
insert into tb select '2:11:51'
insert into tb select '2:13:51'
insert into tb select '2:15:51'
in……