我有一个大约1000万行和4列的表,没有主键.第2列3 4(x2 x3和x4)中的数据按第1列X1中标识的50个组进行分组.
为了从表中获得5%的随机样本,我一直使用
SELECT TOP 5 PERCENT *
FROM thistable
ORDER BY NEWID()
Run Code Online (Sandbox Code Playgroud)
结果返回大约500,000行.但是,如果以这种方式采样,一些组在样本中得到不相等的表示(相对于它们的原始大小).
这次,为了获得更好的样本,我想从列X1中确定的50个组中的每个组中获得5%的样本.所以,最后,我可以得到X1中50个组中每个组中5%行的随机样本(而不是整个表的5%).
我该如何处理这个问题?谢谢.
我的数据集中有每月格式的DATE变量(例如:Ob1 = 5/1/2013,ob2 = 6/1/2013等).
我想把日期改回一个时期.也就是说,对于整行数据(18个变量),2013年6月1日,现在将是5/1/2013,在相同的变量DATE下.
所以,
以前的数据
Date Var1 Var2 Var3
1/1/2013 A 10 30
2/10/2013 B 15 32
3/15/2013 C 12 36
4/30/2013 D 16 25
Run Code Online (Sandbox Code Playgroud)
新数据
Date Var1 Var2 Var3
12/1/2012 A 10 30
1/10/2013 B 15 32
2/15/2013 C 12 36
3/30/2013 D 16 25
Run Code Online (Sandbox Code Playgroud)