Problem:
Sie möchten die Anzahl der Zeilen begrenzen, die aus einer Abfrage in T-SQL resultieren.
Beispiel:
In der exam Tabelle, dort sind die Namen der Studenten mit den Ergebnissen der Prüfung.
| name | exam_result |
|---|---|
| Janet Morgen | 9 |
| Taya Bain | 11 |
| Anne Johnson | 11 |
| Josh Kaur | 10 |
| Ellen Thornton | 8 |
Sie möchten die drei Zeilen mit den besten Prüfungsergebnissen erhalten.
Lösung:
SELECT TOP 3 * FROM exam ORDER BY exam_result DESC;
Das Ergebnis der Abfrage sieht so aus:
| name | exam_result |
|---|---|
| Taya Bain | 11 |
| Anne Johnson | 11 |
| Josh Kaur | 10 |
Diskussion:
Nach dem SELECT verwenden Sie das Schlüsselwort TOP Schlüsselwort zusammen mit der Anzahl der Zeilen, die Sie abrufen möchten (hier 3 ). Denken Sie daran, die Zeilen nach exam_result zu sortieren Spalte in absteigender Reihenfolge mit dem ORDER BY -Klausel und der DESC Schlüsselwort.
SELECT TOP 3 * FROM exam ORDER BY exam_result DESC;
Wenn Sie anstelle der besten drei zufällig drei Zeilen abrufen möchten, überspringen Sie ORDER BY Teil.
SELECT TOP 3 * FROM exam;
Natürlich können Sie beliebig viele Zeilen abrufen. Ersetzen Sie einfach 3 mit Ihrer Wunschnummer.