服務熱線
153 8323 9821
這里是從SQL Server: 中取隨機記錄
Q. 如何得到隨機排序結果?
A. 要得到隨機排序的列,或者返回x條隨機選擇的列,你可以使用隨機數。但是RAND函數在
一個查詢中只能返回一個結果。你可以在NOWID函數返回的列上做ORDER BY。請看示例:
SELECT *
FROM Northwind..Orders
ORDER BY NEWID()
SELECT TOP 10 *
FROM Northwind..Orders
ORDER BY NEWID()
這段話翻譯得真是費勁,干脆不管原文,直接意譯了。
不過提醒大家注意,這種方法是要對整個表掃描,然后產生一個計算列再排序的,最好不要
對大的表作這樣的操作,否則會很慢的。
這里是從 Access 中取隨機記錄:
<%
cn為connection對象
rs為recordset對象
recordCount為記錄總數
i代表記錄數
j代表重試次數,防止進入死循環
dim i,j
randomize()
do while i<8 and j<30
//8條記錄
sql="select F1,F2 from T1 where id="&rnd()*recordCount\1
rs.open sql,cn,1,1
if not (rs.bof and rs.eof) then
i=i+1
response.write("....")
end if
rs.close
j=j+1
loop
%>
當記錄數相對于所取記錄數比較小時,易出現重復取某一記錄,要克服這一點就得再加幾句了...
下一篇:什么是光端機?