Partager via


TOP (Entity SQL)

La clause SELECT peut présenter une sous-clause TOP facultative à la suite du modificateur ALL/DISTINCT facultatif. La sous-clause TOP indique que seul le premier ensemble de lignes sera retourné à partir du résultat de la requête.

[ TOP (n) ]

Arguments

  • n
    Expression numérique qui précise le nombre de lignes à retourner. n peut être un littéral numérique unique ou un paramètre unique.

Notes

L'expression TOP doit être un littéral numérique unique ou un paramètre unique. Si un littéral constant est utilisé, le type de littéral doit implicitement pouvoir être promu en Edm.Int64 (octet, int16, int32 ou int64 ou tout type de fournisseur correspondant à un type qui peut être promu en Edm.Int64) et sa valeur doit être supérieure ou égale au zéro. Dans le cas contraire, une exception est levée. Si un paramètre est utilisé comme expression, le type du paramètre doit aussi pouvoir être implicitement promu en Edm.Int64, mais la valeur réelle du paramètre ne pourra pas être validée au moment de la compilation, car les valeurs de paramètres sont liées tardivement.

L'exemple suivant est une expression TOP constante :

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

L'exemple suivant est une expression TOP paramétrée :

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

TOP n'est pas déterministe, à moins que la requête soit triée. Si vous avez besoin d'un résultat déterministe, utilisez les sous-clauses SKIP et LIMIT dans la clause ORDER BY. TOP et SKIP/LIMIT s'excluent mutuellement.

Exemple

La requête Entity SQL suivante utilise TOP pour spécifier la ligne supérieure à retourner à partir du résultat de la requête. Cette requête est basée sur le modèle de vente AdventureWorks Sales Model. Pour compiler et exécuter cette requête, procédez comme suit :

  1. Suivez la procédure indiquée dans Procédure : exécuter une requête qui retourne des résultats StructuralType (EntityClient).

  2. Passez à la méthode ExecuteStructuralTypeQuery la requête suivante en tant qu'argument :

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

Voir aussi

Référence

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

Concepts

Référence Entity SQL