--方法一:
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;
至於效率,像這種分頁查詢,
可以考慮加hint,或者用分析函式什麼的。
如hint /*+ first_rows() */
或者分析函式:
select * from
(select table_name, row_number() over (order by dbms_random.value) rn from user_tables )
where rn < 51
--方法三:
select * from user_tables sample(10);
Oracle獲取隨機記錄
最近在做乙個小的考試系統,需要用到隨機抽取題目,於是就從網上搜到如下方法 1.dbms random包 select from select from tablename order by dbms random.value where rownum n 注 dbms random包需要手工安裝,位...
oracle隨機查詢n條記錄
從table name表中隨機查詢3條記錄,如下 select from select from table name where 條件 order by trunc dbms random.value 1,7 temp where rownum 3 附 一 oracle trunc 函式的用法 t...
Oracle中隨機抽取N條記錄
一 oracle訪問資料的基本方法 1 全表掃瞄 full table scan 執行全表掃瞄,oracle讀表中的所有記錄,考查每一行是否滿足where條 件。oracle順序的讀分配給該錶的每乙個資料塊,且每個資料塊oracle唯讀一次.這樣全表掃瞄能夠受益於 多塊讀。2 取樣表掃瞄 sampl...