Oracle獲取隨機記錄

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

 

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;
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章