主营业务:网站制作 网站优化 小程序制作 石家庄网站制作网站建设有限公司欢迎您!
石家庄闪云网络科技有限公司
客服热线15383239821
如何让自己的网站更有质量?

如何随机选取n条记录或者对记录作随机排序?

发布时间:2010/12/13 15:56:21

这里是从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
%>
当记录数相对于所取记录数比较小时,易出现重复取某一记录,要克服这一点就得再加几句了...

下一篇: 什么是光端机?

相关新闻推荐

在线客服 : 服务热线:15383239821 电子邮箱: 27535611@qq.com

公司地址:石家庄市新华区九中街江西大厦4062

备案号:冀ICP备2022000585号-4