Catégories :

Syntaxe de requête

TOP <n>

Contraint le nombre maximal de lignes renvoyées par une instruction ou une sous-requête.

Voir aussi :

LIMIT / FETCH

Syntaxe

SELECT
    [ TOP <n> ]
    ...
FROM ...
[ ORDER BY ... ]
[ ... ]

Paramètres

n

Nombre maximal de lignes à renvoyer dans le jeu de résultats.

Notes sur l’utilisation

  • Une clause ORDER BY n’est pas requise ; cependant, sans une clause ORDER BY, les résultats ne sont pas déterministes car les résultats d’un ensemble de résultats ne sont pas nécessairement dans un ordre particulier. Pour contrôler les résultats renvoyés, utilisez une clause ORDER BY.

  • n doit être une constante entière non négative.

Exemples

L’exemple suivant montre l’effet de TOP N. Pour des raisons de simplicité, ces requêtes omettent la clause ORDER BY et supposent que l’ordre de sortie est toujours le même que celui indiqué par la première requête. Les requêtes du monde réel doivent inclure ``ORDER BY``.

select c1 from testtable;

+------+
|   C1 |
|------|
|    1 |
|    2 |
|    3 |
|   20 |
|   19 |
|   18 |
|    1 |
|    2 |
|    3 |
|    4 |
| NULL |
|   30 |
| NULL |
+------+

select TOP 4 c1 from testtable;

+----+
| C1 |
|----|
|  1 |
|  2 |
|  3 |
| 20 |
+----+