Problem:
Sie möchten die Anzahl der Zeilen begrenzen, die sich aus einer Abfrage in MySQL, PostgreSQL oder SQLite ergeben.
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 * FROM exam ORDER BY exam_result DESC LIMIT 3;
Das Ergebnis der Abfrage sieht so aus:
name | exam_result |
---|---|
Taya Bain | 11 |
Anne Johnson | 11 |
Josh Kaur | 10 |
Diskussion:
Sortieren Sie zuerst die Zeilen nach exam_result
Spalte in absteigender Reihenfolge mit dem ORDER BY
-Klausel und der DESC
Stichwort. Dann nach dem ORDER BY
-Klausel verwenden Sie das LIMIT
Schlüsselwort mit einer Anzahl von Zeilen, die Sie zurückgeben möchten (hier 3
).
ORDER BY exam_result DESC LIMIT 3
Wenn Sie anstelle der besten drei zufällig drei Zeilen abrufen möchten, überspringen Sie ORDER BY
Teil.
SELECT * FROM exam LIMIT 3;
Natürlich können Sie beliebig viele Zeilen abrufen. Ersetzen Sie einfach 3 mit Ihrer Wunschnummer.