2012-02-20 86 views
0

假設我有一個week_nbr和cust_id表。Teradata中組中的數據示例

假設我需要每週有500位客戶的樣本。

裝聾作啞的方法是爲每星期做:

select cust_id 
from week_cust 
sample randomized allocation 500 
where week_nbr=1 

什麼是聰明的辦法?也就是說,有沒有辦法讓以下概念有效?

select week_nbr 
     ,random sample of 500 cust_id in this week 
from week_cust 

這是在Teradata上12

最佳,並且由於事先。

回答

0

它不看我,好像有可能使用sample條款來做到這一點。你應該可以通過類似的方式獲得相同的結果:

select week_nbr, cust_id 
from week_cust 
qualify row_number() over (partition by week_nbr order by random(1, 10000)) <= 500