MySQL LIMIT & OFFSET mit Beispielen
Was ist das Schlüsselwort LIMIT?
Das Schlüsselwort limit wird verwendet, um die Anzahl der in einem Abfrageergebnis zurückgegebenen Zeilen zu begrenzen.
Es kann in Verbindung mit der LIMIT-Schlüsselwortsyntax der Befehle SELECT, UPDATE ODER DELETE verwendet werden
Die Syntax für das Schlüsselwort LIMIT lautet wie folgt
SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;
KLICKEN SIE HIER
- „SELECT {fieldname(s) | *} FROM Tabellenname(n)“ lernen muss die SELECT-Anweisung enthält die Felder, die wir in unserer Abfrage zurückgeben möchten.
- „[WHERE-Bedingung]“ ist optional, kann aber bei Angabe zur Angabe eines Filters für die Ergebnismenge verwendet werden.
- „GRENZE N“ ist das Schlüsselwort und N ist eine beliebige Zahl, die bei 0 beginnt. Wenn Sie 0 als Grenzwert eingeben, werden keine Datensätze in der Abfrage zurückgegeben. Wenn Sie eine Zahl eingeben, beispielsweise 5, werden fünf Datensätze zurückgegeben. Wenn die Datensätze in der angegebenen Tabelle kleiner als N sind, werden alle Datensätze aus der abgefragten Tabelle im Ergebnissatz zurückgegeben.
Schauen wir uns ein Beispiel an –
SELECT * FROM members LIMIT 2;
membership_ number | full_ names | gender | date_of _birth | date_of _registration | physical_ address | postal_ address | contact_ number | credit_ card_ number | |
---|---|---|---|---|---|---|---|---|---|
1 | Janet Jones | Female | 21-07-1980 | NULL | First Street Plot No 4 | Private Bag | 0759 253 542 | janetjones@yagoo.cm | NULL |
2 | Janet Smith Jones | Female | 23-06-1980 | NULL | Melrose 123 | NULL | NULL | jj@fstreet.com | NULL |
Wie Sie dem obigen Screenshot entnehmen können, wurden nur zwei Mitglieder zurückgegeben.
Nur eine Liste mit zehn (10) Mitgliedern aus der Datenbank abrufen
Nehmen wir an, wir möchten eine Liste der ersten 10 registrierten Mitglieder aus der Myflix-Datenbank abrufen. Dazu würden wir das folgende Skript verwenden.
SELECT * FROM members LIMIT 10;
Wenn wir das obige Skript ausführen, erhalten wir die unten gezeigten Ergebnisse
membership_ number | full_ names | gender | date_of _birth | date_of _registration | physical_ address | postal_ address | contact_ number | credit_ card_ number | |
---|---|---|---|---|---|---|---|---|---|
1 | Janet Jones | Female | 21-07-1980 | NULL | First Street Plot No 4 | Private Bag | 0759 253 542 | janetjones@yagoo.cm | NULL |
2 | Janet Smith Jones | Female | 23-06-1980 | NULL | Melrose 123 | NULL | NULL | jj@fstreet.com | NULL |
3 | Robert Phil | Male | 12-07-1989 | NULL | 3rd Street 34 | NULL | 12345 | rm@tstreet.com | NULL |
4 | Gloria Williams | Female | 14-02-1984 | NULL | 2nd Street 23 | NULL | NULL | NULL | NULL |
5 | Leonard Hofstadter | Male | NULL | NULL | Woodcrest | NULL | 845738767 | NULL | NULL |
6 | Sheldon Cooper | Male | NULL | NULL | Woodcrest | NULL | 976736763 | NULL | NULL |
7 | Rajesh Koothrappali | Male | NULL | NULL | Woodcrest | NULL | 938867763 | NULL | NULL |
8 | Leslie Winkle | Male | 14-02-1984 | NULL | Woodcrest | NULL | 987636553 | NULL | NULL |
9 | Howard Wolowitz | Male | 24-08-1981 | NULL | SouthPark | P.O. Box 4563 | 987786553 | lwolowitz[at]email.me | NULL |
Beachten Sie, dass in unserer Abfrage nur 9 Mitglieder zurückgegeben wurden, da N in der LIMIT-Klausel größer ist als die Anzahl der Gesamtdatensätze in unserer Tabelle.
Schreiben Sie das obige Skript wie folgt um
SELECT * FROM members LIMIT 9;
Gibt nur 9 Zeilen in unserem Abfrageergebnissatz zurück.
Verwendung des OFF SET in der LIMIT-Abfrage
Die AUS EINST Der Wert wird auch am häufigsten zusammen mit dem Schlüsselwort LIMIT verwendet. Mit dem OFF SET-Wert können wir angeben, in welcher Zeile mit dem Abrufen von Daten begonnen werden soll
Nehmen wir an, wir möchten ab der Mitte der Zeilen eine begrenzte Anzahl von Mitgliedern erhalten. Um dies zu erreichen, können wir das Schlüsselwort LIMIT zusammen mit dem Offset-Wert verwenden. Das unten gezeigte Skript ruft Daten ab der zweiten Zeile ab und begrenzt die Ergebnisse auf 2.
SELECT * FROM `members` LIMIT 1, 2;
Ausführen des obigen Skripts in MySQL Workbench gegen myflixdb liefert die folgenden Ergebnisse.
membership_ number | full_ names | gender | date_of _birth | date_of _registration | physical_ address | postal_ address | contact_ number | credit_ card_ number | |
---|---|---|---|---|---|---|---|---|---|
2 | Janet Smith Jones | Female | 23-06-1980 | NULL | Melrose 123 | NULL | NULL | jj@fstreet.com | NULL |
3 | Robert Phil | Male | 12-07-1989 | NULL | 3rd Street 34 | NULL | 12345 | rm@tstreet.com | NULL |
Note that here OFFSET = 1 Hence row#2 is returned & Limit = 2, Hence only 2 records are returned
Wann sollten wir das Schlüsselwort LIMIT verwenden?
Nehmen wir an, wir entwickeln eine Anwendung, die auf myflixdb läuft. Unser Systementwickler hat uns gebeten, die Anzahl der auf einer Seite angezeigten Datensätze auf beispielsweise 20 Datensätze pro Seite zu begrenzen, um langsamen Ladezeiten entgegenzuwirken. Wie implementieren wir ein System, das diese Benutzeranforderungen erfüllt? Das Schlüsselwort LIMIT ist in solchen Situationen praktisch. Wir könnten die von einer Abfrage zurückgegebenen Ergebnisse auf nur 20 Datensätze pro Seite begrenzen.
Zusammenfassung
- Das LIMIT-Schlüsselwort von wird verwendet, um die Anzahl der von einer Ergebnismenge zurückgegebenen Zeilen zu begrenzen.
- Die LIMIT-Zahl kann eine beliebige Zahl von Null (0) aufwärts sein. Wenn Null (0) als Grenzwert angegeben wird, werden keine Zeilen aus der Ergebnismenge zurückgegeben.
- Mit dem OFF SET-Wert können wir angeben, in welcher Zeile mit dem Abrufen von Daten begonnen werden soll
- Es kann in Verbindung mit der LIMIT-Schlüsselwortsyntax der Befehle SELECT, UPDATE ODER DELETE verwendet werden