在SQL Server中想进行随机排序(随机取N条记录)只需要简单地加个“Order By Rnd()"或”Order By NewID()"就搞定了,但这招到了ACCESS中却不好用了。在ACCESS中用以上Order排出来的结果每次都是一样的。在网上搜了一下,也没有找到比较有建设性的解决方案,大多数都是建议用SQL语句查询出全部记录,然后在ASP中进行随机排序。
发现用“Select * From [Yao_Article] Order By Rnd(ID)"可以实现对记录集的随机排序(其中ID是[Yao_Article]这个表的主键『下同』--不必非是主键,只要是数字类型的字段就可以了)。但奇怪的是在ACCESS中明明可以随机排序的,在ASP中用同样的语句进行查询却还是每次查询出的记录集顺序相同。
再试…… 最后终于发现用“SELECT * FROM [Yao_Article] ORDER BY Rnd(ID-timer())”在ASP跟ACCESS中查询得到的记录集是随机排序的了。
网友评论