oracle SAMPLE 語法應用
阿新 • • 發佈:2019-02-08
Sample抽樣函式用於支援資料探勘。Sample 函式使得資料分析操作在樣本資料上進行,而不是在整張表上進行。
選擇10%的記錄
select * from atest sample(11)
選擇0.1%的記錄
select * from atest sample(0.1)
根據資料塊選擇1%的記錄
select * from atest sample block(1)
使用資料塊選擇與使用記錄行選擇的區別:使用資料塊選擇表示樣本的採集是基於資料塊採集的,也就是說樣本如果一個數據塊被採集為樣本,
則資料塊裡的記錄全部都是樣本
樣本統計是基於統計學採集的,是有概率問題,不一定完全準確,如你要取50%的記錄,但實際可能返回給你49%的記錄集,也可能返回給你51%的記錄集
例如
如果表T1有資料塊B1,B2
B1有記錄R1,R2,R3,R4,R5
B2有記錄R6,R7,R8,R9,R10
如果使用如下SQL選擇50%的資料
select * from atest sample block(50)
則返回的結果可能是資料塊B1的記錄
R1,R2,R3,R4,R5
也可能是資料塊B2的記錄
R6,R7,R8,R9,R10
也可能不返回記錄集
如果使用如下SQL選擇50%的資料
select * from atest sample (50)
則返回的結果可能是
R2,R3,R5,R8,R9
也可能是如下的樣子
R1,R3,R4,R8