TOP (Entity SQL)

SELECT 子句在選擇性 ALL/DISTINCT 修飾詞之後可以有選擇性 TOP 子項子句。 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 Sales Model。 若要編譯及執行此查詢,請遵循以下步驟:

  1. 遵循 How to: Execute a Query that Returns StructuralType Results中的程序進行。

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

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

另請參閱