SQL Server Select Distinct Returns每次都有不同的结果
问题描述:
现在,我比Dev更像是一个开发人员,但这似乎不是很合乎逻辑,所以暂且不管是否有更好的方法来做到这一点,我正努力寻找这方面的逻辑。SQL Server Select Distinct Returns每次都有不同的结果
选择从tbl_result
甲看似简单片SQL的不同testid,右,麻烦的是,当我运行它(无论是在代码和查询分析仪)我得到不同的结果,每次设置。有趣的是,结果集返回相同数量的记录,并且它们相对于另一个是唯一的(两个数据集中都没有值),但在随机数的F5推后,我们得到不同的结果,甚至没有一致的次数,每个不同的集合显示。
表结构:
- 12列,大多是整数,一个VARCHAR(50)
- 它的标识列作为主键,所以聚集索引
- 有超过50万的记录在表格
正如我所说的开始,我知道我可以以不同的方式获得1000个左右的testIds列表,但我真的很好奇,如果有人曾经遇到过这种情况。
在此先感谢。
答
它可能返回相同的testid值,只是以不同的顺序?你能提供关于表结构的更多信息吗?桌子上是否有聚集索引和/或主键?为什么你特别选择DISTINCT而不是仅仅选择testids?你看过执行计划吗?
如果只是以不同的*顺序返回行,那完全是预期的。 SQL没有提供* order *保证,它会返回结果,除了你通过'ORDER BY'子句提供给它的任何显式需求 - 没有'ORDER BY',没有保证。 – 2014-09-19 05:53:38