如何從結果集中獲得隨機結果

2021-08-23 11:54:51 字數 633 閱讀 5393

法一:select * from (select * from fem_parties sample

(sample_percent) ) where rownum < = n;

法二:select * from fem_parties where rownum<= n order by dbms_random.value

order by dbms_random.value的效率低

sample選項:

當按行取樣來執行乙個取樣表掃瞄時,oracle從表中讀取特定百分比的記錄,並判斷是否滿足where子句以返回結果。

sample block選項:

使用此選項時,oracle讀取特定百分比的block,考查結果集是否滿足where條件以返回滿足條件的紀錄.

sample_percent:

sample_percent是乙個數字,定義結果集中包含記錄佔總記錄數量的百分比。

sample值應該在[0.000001,99.999999]之間。

主要注意以下幾點:

1.sample只對單錶生效,不能用於表連線和遠端表

2.sample會使sql自動使用cbo

Oracle使用sample獲得隨機結果集

oracle使用sample獲得隨機結果集 語法 sample block sample percent seed seed value sample選項 表示按行取樣來執行乙個全表掃瞄,oracle從表中讀取特定百分比的記錄,並判斷是否滿足where子句以返回結果。block 表示使用隨機塊例舉而...

MySql從表結果集中隨機取一條資料

該功能的實現基於 mysql 查詢結果中自動加序號列 select from select rowno rowno 1 as rowno,pwd from pur admininfo,select rowno 0 b tmp where rowno select round rand 1000000...

MySql從表結果集中隨機取一條資料

該功能的實現基於 mysql 查詢結果中自動加序號列 select from select rowno rowno 1 as rowno,pwd from pur admininfo,select rowno 0 b tmp where rowno select round rand 1000000...