共用方式為


TOP (Entity SQL)

SELECT 子句可以具有選擇性的 TOP 子句,並遵循選擇性 ALL/DISTINCT 修飾詞。 TOP 子句指定只會從查詢結果傳回第一組數據列。

語法

[ TOP (n) ]

論點

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 銷售模型為基礎。 若要編譯並執行此查詢,請遵循下列步驟:

  1. 遵循 如何:執行會傳回 StructuralType 結果的查詢中的程式。

  2. 將下列查詢當做自變數傳遞至 ExecuteStructuralTypeQuery 方法:

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

另請參閱