读书人

SQL数据依据时间每10分钟一组10分钟

发布时间: 2013-07-01 12:33:04 作者: rapoo

SQL数据根据时间每10分钟一组,10分钟里有的随便取一条,没有的挑过
SQL数据依据时间每10分钟一组,10分钟里有的随便取一条,没有的挑过
比如数据中的
2011-12-28 13:14:13.000------2011-12-28 13:19:39.000这之间有6条数据随便取一条
2011-12-28 13:20:07.000------2011-12-28 13:28:17.000之间有5条取1条
2011-12-28 13:31:13.000------2011-12-28 13:37:13.000有3条数据取1条

10分钟时间段之内的数据随便取一条,没有的跳过不管,这个该怎么写语句? SQL 时间 取值
[解决办法]

 declare @stime SMALLDATETIME
declare @etime SMALLDATETIME
set @stime = '2000-01-01 00:00:00'

declare @i INT
set @i=0
SET @etime=dateadd(n,@i,@stime)

DECLARE @tb TABLE(c1 DATETIME )

while @etime < getdate()
BEGIN
INSERT INTO @tb
select TOP 1 crdate FROM sysobjects WHERE crdate BETWEEN @stime AND @etime ORDER BY(NEWID())
set @i=@i+10
SET @stime=@etime
SET @etime=dateadd(n,@i,@stime)
end
SELECT * FROM @tb

--sysobjects 换成你自己表,@tb根据需要进行定义

读书人网 >SQL Server

热点推荐