在具有TOP子句的内联视图中获取最大值

时间:2013-08-15 16:04:08

标签: tsql sql-server-2008-r2

我试图在内联视图中获取最大值,但它在内联视图中返回最大值,就像内联视图没有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

1 个答案:

答案 0 :(得分:3)

基于什么都没有的前200名。没有订单。

即使是具有群集PK的表,也没有保证订单没有订单。