本文标签:Access, SQL Server
需要在MsSQL Server中想进行随机排序(随机取N条记录)方法相当的简单,只需要简单地加个“Order By Rnd()"或”Order By NewID()"就可以成功的随机排序读取数据库记录内容了,但这招到了ACCESS中却出问题了。在ACCESS中用以上Order排序出来的显示结果每次都是一样的(虽然也是随机的,但是每次都是一样)。在百度Google搜索了很久,也没有找到比较有建设性的解决方案,大多数都是建议用SQL语句查询出全部记录,然后在ASP中进行随机排序。
发现用“Select * From [data] Order By Rnd(ID)"可以实现对记录集的随机排序(其中ID是[data]这个表的主键『下同』--不必非是主键,只要是数字类型的字段就可以了)。但奇怪的是在ACCESS中明明可以随机排序的,在ASP中用同样的语句进行查询却还是每次查询出的记录集顺序相同。
再试…… 最后终于发现用“SELECT * FROM [data] ORDER BY Rnd(ID-timer())”在ASP跟ACCESS中查询得到的记录集是随机排序的了。
呵呵,方法如此简单,希望你可以得到这篇文章的帮助噢。
» 转载请注明来源:电脑知识收藏夹 » 《在ACCESS(Mssql)+ASP实现随机读取数据库记录的简单方法》» 订阅本站:http://feed.x2009.net
sb博客 说:
2009年8月16日 8:52
好久没来学习了!!!
[回复]
查询者 说:
2009年12月23日 10:51
呵呵,试了一下,果然它会变的。
[回复]
晓舟 说:
2010年3月19日 20:33
不行,
要 SELECT * FROM [data] ORDER BY Rnd(timer()-id) 才行
[回复]
哈哈大侠 回复:
20 3 月, 2010 at 14:47
@晓舟, 我这是实验结果……
[回复]