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根据需要进行定义