我需要根据表中2个不同变量的比率从表中选择使用TSQL的随机样本。
所需的随机样本大约是来自一张表约有381,000条记录的8000条记录。随机样本必须具有2个变量的近似比率:
4:1(男/女) - 2类变量 4:3:2:1(重/中/轻/极轻) - 4类变量
答案 0 :(得分:2)
将其分解为每个
的数量select top (640) *
from table
where sex = 'f'
and cat = 'heavy'
order by NewID()
union all
select top (480) *
from table
where sex = 'f'
and cat = 'medium'
order by NewID()
...
4 + 1 = 5
4 + 3 + 2 + 1 = 10
640 = 8000/5 * 4/10