TOP (Entity SQL)

SELECT 子句可以在選擇性的 ALL/DISTINCT 修飾詞後面有選擇性的 TOP 次子句。 TOP 次子句是指定只從查詢結果傳回第一組資料列。

[ TOP (n) ]

Arguments

  • n
    指定傳回資料列數量的數值運算式。 n 可以是單一數字常值或單一參數。

備註

TOP 運算式必須是單一數值常值或單一參數。 如果使用常數常值,此常值型別必須可隱含提升為 Edm.Int64 (byte、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 會互斥。

範例

下列 Entity SQL 查詢使用 TOP,指定從查詢結果傳回的頂端第一行資料列。 此查詢是以 AdventureWorks Sales Model 為依據。 若要編譯及執行此查詢,請遵循以下步驟:

  1. 按照 HOW TO:執行可傳回 StructuralType 結果的查詢 (EntityClient) 中的程序進行。

  2. 將下列查詢當成引數傳遞至 ExecuteStructuralTypeQuery 方法:

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

另請參閱

參考

SELECT (Entity SQL)
SKIP (Entity SQL)
LIMIT (Entity SQL)
ORDER BY (Entity SQL)

概念

Entity SQL 參考