我正在使用这个简单的查询对 ms-access 数据库进行随机排序:
SELECT pk FROM TABLE ORDER BY Rnd(pk) asc
当我用 Microsoft Access 2010 测试它时它工作正常
但是,当我使用经典的 asp 调用此查询时,随机排序不起作用。
这是我的代码:
set Rs = Server.CreateObject("ADODB.Recordset")
Rs.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/dbfolder") & "\dbname.mdb"
Rs.Source = "SELECT pk FROM TABLE ORDER BY Rnd(pk) asc"
Rs.CursorType = 3
Rs.CursorLocation = 2
Rs.LockType = 3
Rs.Open()
do while not Rs.eof
'do stuff
Rs.Movenext
loop
最佳答案
你只需要“salt”你的随机生成器:
Rs.Source = "SELECT pk FROM TABLE ORDER BY Rnd(-Timer() * [pk]) Asc"
关于sql - 随机排序查询 Access ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35454825/