一个简单的问题被我搞复杂了,google,baidu都不行,我一直在想着怎么用access的语法来实现,也就是在
access上面做文章,回来的时候,灵机一动,既然是sql就应该可以用sql的语法来实现,何况我对access不很熟
原来的语句:
select TOP 100 * from OpenRowSet('microsoft.jet.oledb.4.0',';database=D:\Demo\WebService\WebSiteReadAccess\jxsdata.mdb','select top 100 * from question order by rnd(id)')
后来的语句:
sqlserver2005因为安全方面要加上注释了的几句
--exec sp_configure 'show advanced options',1
--reconfigure
--exec sp_configure 'Ad Hoc Distributed Queries',1
--reconfigure
select TOP 100 * from OpenRowSet('microsoft.jet.oledb.4.0',';database=mdb、cls文件的路径','select * from 表名) ORDER BY NEWID()
另外在网上找到的一个方法也不错:
select * from 表名order by Rnd(id-timer())
这个应该是最简单的,希望对大家有用