Kategorien:

Abfragesyntax

TOP <n>

Begrenzt die maximale Anzahl von Zeilen, die von einer Anweisung oder Unterabfrage zurückgegeben werden.

Siehe auch:

LIMIT / FETCH

Syntax

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

Parameter

n

Die maximale Anzahl der Zeilen, die im Resultset zurückgegeben werden sollen.

Nutzungshinweise

  • Eine ORDER BY-Klausel ist nicht erforderlich. Ohne eine ORDER BY-Klausel sind die Ergebnisse jedoch nicht deterministisch, da Ergebnisse innerhalb eines Resultsets nicht notwendigerweise eine bestimmte Reihenfolge aufweisen. Verwenden Sie eine ORDER BY-Klausel, um die zurückgegebenen Ergebnisse zu kontrollieren.

  • n muss eine nicht negative Ganzzahlkonstante sein.

Beispiele

Das folgende Beispiel zeigt den Effekt von TOP N. Der Einfachheit halber wird in diesen Abfragen die ORDER BY-Klausel weggelassen und angenommen, dass die Ausgabereihenfolge immer dieselbe ist wie in der ersten Abfrage. Reale Abfragen sollten ``ORDER BY`` enthalten.

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 |
+----+