Condividi tramite


TOP (Entity SQL)

La clausola SELECT può includere una sottoclausola TOP facoltativa dopo il modificatore ALL/DISTINCT facoltativo. La sottoclausola TOP specifica che verrà restituito solo il primo set di righe del risultato della query.

[ TOP (n) ]

Argomenti

  • n
    Espressione numerica che specifica il numero di righe da restituire. n potrebbero essere un singolo valore letterale numerico o un singolo parametro.

Osservazioni

L'espressione TOP deve essere un singolo valore letterale numerico o un singolo parametro. Se viene utilizzato un valore letterale costante, il tipo del valore letterale deve essere implicitamente promuovibile a Edm.Int64 (byte, int16, int32 o int64 oppure qualsiasi tipo di provider mappato a un tipo promuovibile a Edm.Int64) e il suo valore deve essere maggiore o uguale a zero. In caso contrario, viene generata un'eccezione. Se come espressione viene utilizzato un parametro, anche il tipo di parametro deve essere implicitamente promuovibile a Edm.Int64, ma non verrà eseguita alcuna convalida effettiva del valore del parametro durante la compilazione in quanto per i valori dei parametri viene utilizzata l'associazione tardiva.

Di seguito è illustrato un esempio di espressione TOP costante.

select distinct top(10) c.a1, c.a2 from T as a

Di seguito è illustrato un esempio di espressione TOP con parametri.

select distinct top(@topParam) c.a1, c.a2 from T as a

L'espressione TOP non è deterministica, a meno che la query non venga ordinata. Se è necessario un risultato deterministico, utilizzare le sottoclausole SKIP e LIMIT nella clausola ORDER BY. TOP e SKIP/LIMIT si escludono a vicenda.

Esempio

Nella query Entity SQL seguente viene utilizzato TOP per specificare la riga superiore da restituire dal risultato della query. La query è basata sul modello Sales di AdventureWorks. Per compilare ed eseguire questa query, effettuare le operazioni seguenti:

  1. Seguire la procedura indicata in Procedura: eseguire una query che restituisce risultati StructuralType (EntityClient).

  2. Passare la query seguente come argomento al metodo ExecuteStructuralTypeQuery:

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

Vedere anche

Riferimento

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

Concetti

Riferimenti a Entity SQL