最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle實現某表隨機抽取數據(隨機性抽取)

 更新時間:2024年08月12日 14:59:11   作者:蝸牛_小吳  
這篇文章主要介紹了Oracle實現某表隨機抽取數據(隨機性抽取),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Oracle實現某表隨機抽取數據

目前我知道的三種方式:

1. 使用隨機數

select * from (
      select * from  t_table order by dbms_random.value
) where rownum <= 1000
 
  • 概述 : 這種方式相對比較原始 , 就是 更具隨機的值進行 排序 , 然后 再進行 獲取 前 1000 行數據 .
  • 優(yōu)點 : 隨機性 好
  • 缺點 : 性能差 (當進行獲取的數據量 越大 , 執(zhí)行的時間就越長 )

2. 使用sample函數

select * from  t_table sample(10) where rownum <=1000
  • 概述 : sample函數 旨在 隨機樣本抽取 , 但是涵蓋的數據 分布 非常不均勻 .
  • 優(yōu)點 : 性能好 (執(zhí)行的時間相對比較短)
  • 缺點 : 隨機性差(因為涵蓋的數據分布非常不均勻)

3. 結合上述兩種方式(隨機數+sample函數)

select * from (
    select * from t_table sample(10) order by dbms_random.value
) where rownum <= 1000 
  • 概述 : 這種是先使用sample函數 抽取部分數據, 再使用隨機數進行排序 .
  • 優(yōu)點 : 性能相對較好 (比方式一 性能好 , 比方式二 隨機性好)
  • 缺點 : 數據命中率不能達到 百分百 (因為使用了 sample函數 , 當數據量比較少時 , 不能保證每次都能返回 獲取的樣本數據 , 抽樣的表不能用 dblink[數據庫連接])

Oracle數據庫:隨機查詢100條數據

方法一

SELECT m.*
  FROM (SELECT u.* FROM USER_INFO u order by dbms_random.value()) m
 where rownum < 100;

注:USER_INFO約40w條數據.

方法二

SELECT * FROM USER_INFO SAMPLE(50) WHERE ROWNUM < 101;

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

景泰县| 龙井市| 汉源县| 波密县| 磐安县| 托克托县| 麻城市| 化州市| 灵寿县| 玉树县| 张掖市| 汉源县| 佛冈县| 滦南县| 宜良县| 桦川县| 噶尔县| 浏阳市| 常宁市| 法库县| 始兴县| 廊坊市| 资溪县| 霸州市| 兰溪市| 筠连县| 昭通市| 香港| 清河县| 虞城县| 乐至县| 武隆县| 思茅市| 八宿县| 凤冈县| 乃东县| 郎溪县| 巴彦县| 丹阳市| 平山县| 库尔勒市|