SKIP (Entity SQL)

在 ORDER BY 子句中使用 SKIP 子子句可执行物理分页。SKIP 不能脱离 ORDER BY 子句单独使用。

[ SKIP n ]

参数

  • n
    要跳过的项数。

备注

如果 ORDER BY 子句中存在 SKIP 表达式子子句,则将根据排序规范对结果排序,结果集将包含从紧接着 SKIP 表达式之后的下一行开始的行。例如,SKIP 5 将跳过前五行,并返回第六行以及后续行。

Note注意

如果 TOP 修饰符和 SKIP 子子句同时出现在同一个查询表达式中,Entity SQL 查询将无效。应重写查询,将 TOP 表达式更改为 LIMIT 表达式。

Note注意

在 SQL Server 2000 中,对非键列同时使用 SKIP 和 ORDER BY 可能返回不正确的结果。如果非键列中有重复数据,那么跳过的行数可能多于指定的行数。这是由于 SQL Server 2000 对 SKIP 的解释方式造成的。例如,在下面的代码中,如果 E.NonKeyColumn 有重复值,则跳过的行可能超过 5 行:

SELECT [E] FROM Container.EntitySet AS [E] ORDER BY [E].[NonKeyColumn] DESC SKIP 5L

示例

下面的 Entity SQL 查询将 ORDER BY 运算符与 SKIP 结合使用来指定用于 SELECT 语句所返回的对象的排序顺序。此查询基于 AdventureWorks 销售模型。若要编译并运行此查询,请执行下列步骤:

  1. 执行如何:执行返回 StructuralType 结果的查询 (EntityClient) 中的过程。

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

SELECT VALUE p FROM AdventureWorksEntities.Product 
    AS p order by p.ListPrice SKIP(70)

输出如下所示:

ProductID: 392
Name: Hex Nut 3
ProductNumber: HN-6320
MakeFlag: False
ProductID: 393
Name: Hex Nut 14
ProductNumber: HN-7161
MakeFlag: False
ProductID: 394
Name: Hex Nut 15
ProductNumber: HN-7162
MakeFlag: False
ProductID: 395
Name: Hex Nut 4
ProductNumber: HN-8320
MakeFlag: False
ProductID: 396
Name: Hex Nut 18
ProductNumber: HN-9161
MakeFlag: False

另请参见

任务

如何:对查询结果分页(实体框架)

参考

ORDER BY (Entity SQL)
TOP (Entity SQL)

概念

分页 (Entity SQL)