在SQL Server中想進(jìn)行隨機(jī)排序(隨機(jī)取N條記錄)只需要簡(jiǎn)單地加個(gè)“Order By Rnd()"或”O(jiān)rder By NewID()"就搞定了,但這招到了ACCESS中卻不好用了。在ACCESS中用以上Order排出來的結(jié)果每次都是一樣的。在網(wǎng)上搜了一下,也沒有找到比較有建設(shè)性的解決方案,大多數(shù)都是建議用SQL語句查詢出全部記錄,然后在ASP中進(jìn)行隨機(jī)排序。
發(fā)現(xiàn)用“Select * From [Yao_Article] Order By Rnd(ID)"可以實(shí)現(xiàn)對(duì)記錄集的隨機(jī)排序(其中ID是[Yao_Article]這個(gè)表的主鍵『下同』--不必非是主鍵,只要是數(shù)字類型的字段就可以了)。但奇怪的是在ACCESS中明明可以隨機(jī)排序的,在ASP中用同樣的語句進(jìn)行查詢卻還是每次查詢出的記錄集順序相同。
再試…… 最后終于發(fā)現(xiàn)用“SELECT ?* FROM [Yao_Article] ORDER BY Rnd(ID-timer())”在ASP跟ACCESS中查詢得到的記錄集是隨機(jī)排序的了。