我试图在内联视图中获取最大值,但它在内联视图中返回最大值,就像内联视图没有TOP子句一样。
下面查询中的表dbo.Details包含650条记录。我需要获得前200条记录的最大值,但是下面的查询会获得BatchNumber = 341的详细信息表中所有记录的最大值。
我遗失了一些微妙的观点吗?我的目标是在TOP(200)记录中获得最大值。我正在使用SQL Server 2008 R2。
SELECT MAX(a.DetailsRecordID) FROM (SELECT TOP(200) npd.DetailsRecordID,
npd.BatchNumber FROM dbo.Details npd WHERE npd.BatchNumber = 341) a
答案 0 :(得分:3)
基于什么都没有的前200名。没有订单。
即使是具有群集PK的表,也没有保证订单没有订单。