四种数据库,取随机记录的方法

发表于:2007-06-07来源:作者:点击数: 标签:
mysql:select * from tablename order by rand() limit 10 sqlserver:select top 10 * from tablename order by NEWID() ORACLE: 使用 dbms random value的一种方法 SQL select *from (select *from t order by dbms_random.value) where rownum10; A ---

mysql:select * from tablename order by rand() limit 10
sqlserver:select top 10 * from tablename order by NEWID()

ORACLE:使用 dbms random value的一种方法


SQL> select *from (select *from t order by dbms_random.value) where rownum<10;

         A
----------
        39
       101
       134
         5
        83
        97
        96
       140
        81

已选择9行。

SQL> select *from (select *from t order by dbms_random.value) where rownum<10;

         A
----------
        27
       118
       141
       103
       128
        10
       142
        68
        74 

有人说这是一种效率最差的方法,恳请告知比这更好的解决方案!

ACCESS(一):

yourstr="*1*3*4*6*12*...."
sql="select top 10 * form yourdb where instr('*'&id&'*','"&yourstr&"')<>0

原文转自:http://www.ltesting.net