日期:2014-05-17  浏览次数:20897 次

怎么出随机记录?随机
ASP+Access

数据库有10万条记录,要从中随机抽取10条记录。
但是记录ID 不一定连续。ID不一定从1开始,也不一定在10万结束。

ID myname
8 刘德华
9 古天乐
12 任达华
……
150000 林熙蕾

总共10万 条记录

请问,现在要随机抽取10条记录。这10条记录最好不要是连续的10条,而是要真正随机抽取出来的。

问一,
最节省资源,最佳方案是怎么样?

问二,
如果定义个数组,数组长度为10万,是否会太占用内存?不合理?



------解决方案--------------------
VBScript code
Dim rs,sql
Randomize
Set rs=Server.CreateObject("Adodb.RecordSet")
sql = "select TOP 10 * from xxxx ORDER BY RND(-(ID+"&rnd()&"))"
...

------解决方案--------------------
就是利用随机数
------解决方案--------------------
http://blog.csdn.net/tangbow/article/details/7784718
------解决方案--------------------
SELECT TOP 10 * FROM tableA ORDER BY NEWID()