Oracle 隨機記錄

2021-05-23 14:14:21 字數 613 閱讀 4416

--方法一:

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...