Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So begrenzen Sie Ergebnisse in MySQL, PostgreSQL und SQLite

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.