Oracle獲取隨機記錄

2021-08-24 17:19:50 字數 500 閱讀 3738

最近在做乙個小的考試系統,需要用到隨機抽取題目,於是就從網上搜到如下方法:

1.dbms_random包

select * from (select * from tablename order by dbms_random.value) where rownum < n;
注:dbms_random包需要手工安裝,位於$oracle_home/rdbms/admin/dbmsrand.sql

dbms_random.value(100,200)可以產生100到200範圍的隨機數

2.按概率抽取:

select * from tablename sample(百分比);
3.sys_guid

select * from (select * from tablename order by   sys_guid()) where rownum<10;

Oracle 隨機記錄

方法一 select from select from t1 order by sys guid where rownum 100 方法二 select from select from user tables order by dbms random.value where rownum 101 ...

mysql隨機獲取記錄

size medium mysql的隨機抽取實現方法。舉個例子,要從tablename表中隨機提取一條記錄,大家一般的寫法就是 select from tablename order by rand limit 1 但是,後來我查了一下mysql的官方手冊,裡面針對rand 的提示大概意思就是,在o...

mysql隨機獲取記錄

mysql隨機獲取記錄 mysql的隨機抽取實現方法。舉個例子,要從tablename表中隨機提取一條記錄,大家一般的寫法就是 select from tablename order by rand limit 1 但是,後來我查了一下mysql的官方手冊,裡面針對rand 的提示大概意思就是,在o...