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 子句中使用 SKIP 和 LIMIT 次子句。 TOP 和 SKIP/LIMIT 會互斥。
範例
下列 Entity SQL 查詢使用 TOP,指定從查詢結果傳回的頂端第一行資料列。 此查詢是以 AdventureWorks Sales Model 為依據。 若要編譯及執行此查詢,請遵循以下步驟:
將下列查詢當成引數傳遞至
ExecuteStructuralTypeQuery
方法:
SELECT VALUE TOP(1) contact FROM AdventureWorksEntities.Contacts AS contact
另請參閱
參考
SELECT (Entity SQL)
SKIP (Entity SQL)
LIMIT (Entity SQL)
ORDER BY (Entity SQL)