首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NewID()不返回随机样本

NewID()不返回随机样本
EN

Stack Overflow用户
提问于 2012-11-29 17:36:57
回答 1查看 430关注 0票数 1

可能重复: Random sampling from a large dataset

我早些时候发布了一个问题,here

我觉得一切都很好,但是当我去检查结果的随机性时,我发现没有。查询的其他方面可以正常工作,但是无论我试图做什么,我都从表中获得了top X编号。由于Server不允许您在子查询中使用order子句,所以我如何才能避免这种情况,以确保得到了一个真正随机的示例?

EN

回答 1

Stack Overflow用户

发布于 2012-11-29 17:44:46

只要指定了一个ORDER BY子句,就可以在子查询中使用TOP

以前的诀窍是在子查询中使用SELECT TOP 100 PERCENT ... ORDER BY NEWID()来欺骗优化器,使子查询中间查询具体化。

SQL优化器团队中的高层人员说,优化器现在知道将返回所有行,忽略它(尽管它仍然值得一试)

如果失败,请尝试SELECT TOP 2147483647 ... ORDER BY NEWID()完成与TOP 100 PERCENT相同的任务

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13631494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档