MySQL LIMIT & OFFSET mit Beispielen

Anonim

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 den LIMIT-Schlüsselwortsyntax der Befehle SELECT, UPDATE OR DELETE verwendet werden

Die Syntax für das Schlüsselwort LIMIT lautet wie folgt

SELECT {fieldname(s) | *} FROM tableName(s) [WHERE condition] LIMIT N;

HIER

  • "SELECT {Feldname (n) | *} FROM Tabellenname (n)" ist die SELECT-Anweisung, die die Felder enthält, die wir in unserer Abfrage zurückgeben möchten.
  • "[WHERE-Bedingung]" ist optional, kann jedoch bei Angabe verwendet werden, um einen Filter für die Ergebnismenge anzugeben.
  • "LIMIT N" ist das Schlüsselwort und N ist eine beliebige Zahl ab 0, wobei 0 gesetzt wird, da das Limit keine Datensätze in der Abfrage zurückgibt. Wenn Sie eine Zahl von 5 eingeben, 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 in der Ergebnismenge 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 This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it. NULL

Wie Sie dem obigen Screenshot entnehmen können, wurden nur zwei Mitglieder zurückgegeben.

Eine Liste von zehn (10) Mitgliedern nur aus der Datenbank abrufen

Angenommen, wir möchten eine Liste der ersten 10 registrierten Mitglieder aus der Myflix-Datenbank abrufen. Wir würden das folgende Skript verwenden, um dies zu erreichen.

SELECT * FROM members LIMIT 10;

Wenn Sie das obige Skript ausführen, erhalten Sie 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 This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
2 Janet Smith Jones Female 23-06-1980 NULL Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
3 Robert Phil Male 12-07-1989 NULL 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it. 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 neu

SELECT * FROM members LIMIT 9;

Gibt nur 9 Zeilen in unserer Abfrageergebnismenge zurück.

Verwenden des OFF SET in der LIMIT-Abfrage

Der Wert OFF SET wird auch am häufigsten zusammen mit dem Schlüsselwort LIMIT verwendet. Mit dem Wert OFF SET können wir angeben, in welcher Zeile mit dem Abrufen von Daten begonnen werden soll

Nehmen wir an, wir möchten eine begrenzte Anzahl von Mitgliedern ab der Mitte der Zeilen erhalten. Dazu können wir das Schlüsselwort LIMIT zusammen mit dem Versatzwert verwenden. Das unten gezeigte Skript ruft Daten ab der zweiten Zeile ab und begrenzt die Ergebnisse auf 2.

SELECT * FROM `members` LIMIT 1, 2;

Das Ausführen des obigen Skripts in der MySQL-Workbench gegen die myflixdb führt zu den folgenden Ergebnissen.

 
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 This email address is being protected from spambots. You need JavaScript enabled to view it. NULL
3 Robert Phil Male 12-07-1989 NULL 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it. 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 die Anwendung, die auf myflixdb ausgeführt wird. Unser Systemdesigner hat uns gebeten, die Anzahl der auf einer Seite angezeigten Datensätze auf 20 Datensätze pro Seite zu begrenzen, um langsamen Ladezeiten entgegenzuwirken. Wie implementieren wir das System, das diese Benutzeranforderungen erfüllt? Das Schlüsselwort LIMIT ist in solchen Situationen nützlich. Wir könnten die von einer Abfrage zurückgegebenen Ergebnisse auf 20 Datensätze pro Seite beschränken.

Zusammenfassung

  • Das Schlüsselwort LIMIT von wird verwendet, um die Anzahl der von einer Ergebnismenge zurückgegebenen Zeilen zu begrenzen.
  • Die LIMIT-Nummer kann eine beliebige Zahl von Null (0) nach oben sein. Wenn Null (0) als Grenzwert angegeben wird, werden keine Zeilen aus der Ergebnismenge zurückgegeben.
  • Mit dem Wert OFF SET können wir angeben, in welcher Zeile mit dem Abrufen von Daten begonnen werden soll
  • Es kann in Verbindung mit den LIMIT-Schlüsselwortsyntax der Befehle SELECT, UPDATE OR DELETE verwendet werden