怎么随机选择出一条记录?其中没有可以排序的列数!!
如题,想了很久也不知道怎么弄,请教各位高手了!!
1.前台处理
读取所有的记录--->生成随机移动量--->移动数据
2.数据库端处理
DECLARE @intMove as int
DECLARE @intMax as int
DECLARE @strSQL as Varchar(800)
----获得记录的最大数值,控制生成的随机数范围
SELECT @intMax=Count(*) FROM #ls1
----生成随机数,防止生成的随机数字在后续计算时可能产生无效的数据
SELECT @intMove=CASE WHEN @intMax * Rand()=0 THEN 0 ELSE @intMax * Rand() - 1 END
----获得随机数据
SET @strSQL='SELECT TOP 1 * FROM #ls1 WHERE F1 NOT IN (SELECT TOP ' + CAST(@intMove-1 AS VARCHAR(10)) + ' F1 FROM #ls1)'
EXECUTE(@strSQL)
[[it] 本帖最后由 happynight 于 2008-5-14 10:19 编辑 [/it]]