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