这是我的问题 .
我试图这样做:在SQL Server上的数据库中的表中有x列 . 我想随机选择n%的行k次 . 每次我随机选择行后,我都会取一列的平均值 . 最后,我需要取k时间平均值的平均值 .
例如,
Original Table
Gender Height
M 182
M 183
M 178
M 165
M 183
M 158
M 192
M 171
M 173
M 165
M 174
M 166
M 188
M 176
M 174
M 162
Random selection 1
Gender Height
M 182
M 183
M 178
M 165
- 然后计算所选四个的平均高度
Gender Avg_Height
M 177
Random selection 2
Gender Height
M 158
M 176
M 174
M 171
- 然后计算所选四个的平均高度
Gender Avg_Height
M 170
最后,计算170和177的平均值,这是最终表 .
Gender Avg_Height
M 173.5
我从原始表中随机选择4行,每次取平均值,然后取两个平均高度的平均值 . 我知道如何多次选择随机行,但无法弄清楚如何将最终结果放在数据库的表中 . 谢谢 .
通过newid()从original_table顺序中选择前4 *
1 回答
创建一个输出表,然后循环并使用
INSERT INTO
来填充它:演示:SQL Fiddle
添加
ORDER BY NEWID()
是一种随机化结果顺序的方法,上面的循环将运行5次,调整WHILE
部分以更改迭代次数 .