newid()是SQL SERVER中的函數,ACCESS里不支持
ACCESS可以用RND函數結合ASP中的RND函數來實現隨機抽取。
<%
...
Randomize
strSQL = "Select TOP 1 字段列表 FROM 表名 orDER BY RND(-(編號字段)*" & RND() & ")"
...
%>
要產生指定范圍的隨機整數,請使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
這里, upperbound 是此范圍的上界,而 lowerbound 是此范圍內的下界。
然后查詢取表中的值羅,沒有的話再生成一個來查
執行這句SQL語句就行了,返回隨機取得的一條記錄
select top 1 * from member order by newid()
隨機取一個數然后把這個數作為ID來取數據
比如MAXCOUNT是所有的數據條數
那么可以getid=Int((MAXCOUNT - 1 + 1) * Rnd + 1) 來生成從1到MAXCOUNT的一個隨機數。
然后用SQL語句"select * from member where menid=" &getid
就可以了
隨機提取10條記錄的例子:
Sql server:
select top 10 * from 表 order by newid()
Access:
Select top 10 * FROM 表 orDER BY Rnd(id)
Rnd(id) 其中的id是自動編號字段,可以利用其他任何數值來完成
比如用姓名字段(UserName)
Select top 10 * FROM 表 orDER BY Rnd(len(UserName))
MySql:
Select * From 表 order By rand() Limit 10