SKIP (Entity SQL)

您可以在 ORDER BY 子句中使用 SKIP 子句執行實際分頁。SKIP 不可單獨使用於 ORDER BY 子句之外。

[ SKIP n ]

引數

  • n
    要略過的項目數目。

備註

如果 ORDER BY 子句中有 SKIP 運算式次子句,結果將會依據排序規格排序,而且結果集將會包括從 SKIP 運算式後面一個資料列開始的資料列。例如,SKIP 5 將會略過前五個資料列,並且傳回從第六個資料列以後的資料列。

Bb738680.note(zh-tw,VS.100).gif注意:
如果 TOP 修飾詞和 SKIP 之子句兩者出現在同一個查詢運算式中,則 Entity SQL 查詢會變成無效。請將 TOP 運算式變更為 LIMIT 運算式來重新撰寫此查詢。

Bb738680.note(zh-tw,VS.100).gif注意:
在 SQL Server 2000 中,在非索引鍵資料行上使用 SKIP 搭配 ORDER BY 可能會傳回不正確的結果。如果非索引鍵資料行中有重複的資料,可能會略過超過所指定數目的資料行。這是因為 SKIP 針對 SQL Server 2000 轉譯的方式所造成的。舉例來講,在以下程式碼中,如果 E.NonKeyColumn 中有重複的值,就會略過超過五個資料行:

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

範例

以下 Entity SQL 查詢使用 ORDER BY 運算子搭配 SKIP 來指定 SELECT 陳述式所傳回物件使用的排序順序。此查詢是以 AdventureWorks Sales Model 為依據。若要編譯及執行此查詢,請遵循以下步驟:

  1. 按照 HOW TO:執行可傳回 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

另請參閱

工作

HOW TO:逐頁檢視查詢結果 (Entity Framework)

參考

ORDER BY (Entity SQL)
TOP (Entity SQL)

概念

分頁 (Entity SQL)