1.数据如下
name type date
A 县令 2008-12-16 17:23:06.500
B 县令 2008-12-16 17:33:06.500
C 县令 2008-12-16 17:43:06.500
D 县令 2008-12-16 17:53:06.500
E 县令 2008-12-16 18:13:06.500
F 县令 2008-12-16 17:23:06.500
G 县令 2008-12-16 17:33:06.500
I 县令 2008-12-16 17:43:06.500
我使用select top 1 * from tb order by newid()随机抽取上面数据中的一条,
假如A这条数据在3分钟内已经随机抽取过一次,那我就希望它在3分钟只内再出现一次了?2.还有个问题有2个时间 data1=2008-12-16 17:23:06.500,date2=2008-12-16 17:33:06.500
我要的结果:data2-data1=10(备注10s)
这个SQL语句怎么写了?
name type date
A 县令 2008-12-16 17:23:06.500
B 县令 2008-12-16 17:33:06.500
C 县令 2008-12-16 17:43:06.500
D 县令 2008-12-16 17:53:06.500
E 县令 2008-12-16 18:13:06.500
F 县令 2008-12-16 17:23:06.500
G 县令 2008-12-16 17:33:06.500
I 县令 2008-12-16 17:43:06.500
我使用select top 1 * from tb order by newid()随机抽取上面数据中的一条,
假如A这条数据在3分钟内已经随机抽取过一次,那我就希望它在3分钟只内再出现一次了?2.还有个问题有2个时间 data1=2008-12-16 17:23:06.500,date2=2008-12-16 17:33:06.500
我要的结果:data2-data1=10(备注10s)
这个SQL语句怎么写了?
我要的结果:data2-data1=10(备注10s)
这个SQL语句怎么写了? ----------
select datediff(ss, '2008-12-16 17:23:06.500', '2008-12-16 17:33:06.500')
,[秒钟]=datediff(ss, '2008-12-16 17:23:06.500', '2008-12-16 17:33:06.500')/*
分钟 秒钟
----------- -----------
10 600(1 行受影响)
*/
declare @data1 datetime,@data2 datetime
set @data1='2008-12-16 17:23:06.500'
set @data2='2008-12-16 17:33:06.500'select datediff(ss,@data1,@data2) as seconds
/*
seconds
-----------
600
*/
假如A这条数据在3分钟内已经随机抽取过一次,那我就希望它在3分钟只内再出现一次了? 可以将抽取过的记录存到一个表中,记录Name及抽取时间,再次抽取时过虑掉3分钟内抽取过的记录。
至于第一个,个人想法是最好再加个时间字段,或者用libin_ftsafe所说的。
仅参考