在sql查询中使用top关键字记录问题
我有一个Linq查询,它工作得很好,但我注意到,当我在该查询中使用take关键字时,它不会返回相同的顶级选定记录。 当我看到Sql profiler查询时,它们是完全相同的例外,只是top关键字,这可能是问题所在。我注意到的另一件事是,当我在数据库中给出一个no-bether-than记录时,take也可以正常工作 我附上查询和记录附件 当我在这个查询中应用前10名时,它会显示这些记录在sql查询中使用top关键字记录问题,sql,sql-server,linq,sql-server-2008-r2,Sql,Sql Server,Linq,Sql Server 2008 R2,我有一个Linq查询,它工作得很好,但我注意到,当我在该查询中使用take关键字时,它不会返回相同的顶级选定记录。 当我看到Sql profiler查询时,它们是完全相同的例外,只是top关键字,这可能是问题所在。我注意到的另一件事是,当我在数据库中给出一个no-bether-than记录时,take也可以正常工作 我附上查询和记录附件 当我在这个查询中应用前10名时,它会显示这些记录 使用Sql Server 2008 R2时可能会出现什么问题。尝试使用order by(或linq中的or
使用Sql Server 2008 R2时可能会出现什么问题。尝试使用
order by
(或linq中的orderby
)强制查询对记录排序。默认排序可能不同,请尝试按列显式排序 不按顺序使用TOP
关键字不能保证结果集的可重复性
从
如果包含TOP的SELECT语句也有ORDER BY子句,
从有序结果集中选择要返回的行。这个
整个结果集是按照指定的顺序构建的,其中前n行是
将返回已排序的结果集
使用
TOP
而不使用ORDER BY
不会产生可预测的结果。。。如果要前10名
-必须定义排序标准!否则:前10名是什么。。。。。