小编Sif*_*har的帖子

SQL - 按组分组随机抽样5%

我有一个大约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%).

我该如何处理这个问题?谢谢.

t-sql random-sample newid

6
推荐指数
1
解决办法
4898
查看次数

SAS:将日期换班一个周期

我的数据集中有每月格式的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)

date sas lead

1
推荐指数
1
解决办法
414
查看次数

标签 统计

date ×1

lead ×1

newid ×1

random-sample ×1

sas ×1

t-sql ×1