TOP (Entity SQL)

SELECT 子句可以在可选的 ALL/DISTINCT 修饰符之后具有可选的 TOP 子子句。 TOP 子子句指定查询结果中将只返回第一组行。

语法

[ TOP (n) ]

参数

n一个数值表达式,指定要返回的行数。 n 可以是单个数值或单个参数。

备注

TOP 表达式必须是单个数值或单个参数。 如果使用一个常量文本,则该文本类型必须可隐式提升为 Edm.Int64(字节、int16、int32 或 int64,或映射到可提升为 Edm.Int64 的类型的任何提供程序类型),并且其值必须大于或等于零。 否则,将引发异常。 如果将一个参数用作表达式,则该参数类型也必须可隐式提升为 Edm.Int64,但由于参数值是后期绑定的,因此在编译过程中不会对实际参数值进行任何验证。

下面是常量 TOP 表达式的示例:

select distinct top(10) c.a1, c.a2 from T as a

下面是参数化 TOP 表达式的示例:

select distinct top(@topParam) c.a1, c.a2 from T as a

除非对查询进行排序,否则 TOP 具有不确定性。 如果需要确定的结果,请在 ORDER BY 子句中使用 SKIPLIMIT 子子句。 TOP 和 SKIP/LIMIT 是互斥的。

示例

以下实体 SQL 查询使用 TOP 指定要从查询结果中返回的最上面一行。 此查询基于 AdventureWorks 销售模型。 若要编译并运行此查询,请执行下列步骤:

  1. 执行 How to: Execute a Query that Returns StructuralType Results中的过程。

  2. 将以下查询作为参数传递给 ExecuteStructuralTypeQuery 方法:

    SELECT VALUE TOP(1) contact FROM AdventureWorksEntities.Contacts AS contact
    

请参阅