Ergebnis begrenzen: der LIMIT-Operator
Mit LIMIT holst du einen bestimmten Ausschnitt von Datensätzen aus einer oder mehreren Tabellen.
Allgemeine Struktur einer Query mit LIMIT
Syntax mit Komma:
SELECT tabellen_felder
FROM tabellen_name
LIMIT [anzahl_uebersprungen,] anzahl_zeilen;- [ ]optionaler Teil
- tabellen_felder
- Die Spalten, die im Ergebnis landen.
- tabellen_name
- Die Tabelle, aus der die Daten ausgewählt werden.
- anzahl_uebersprungen
Wie viele Zeilen vor der Ausgabe übersprungen werden. Lässt du es weg, beginnt die Ausgabe mit der ersten Zeile.
Optional- anzahl_zeilen
Wie viele Zeilen ausgegeben werden. Hat das Ergebnis weniger Zeilen, kommen alle.
Syntax mit OFFSET:
SELECT tabellen_felder
FROM tabellen_name
LIMIT anzahl_zeilen [OFFSET anzahl_uebersprungen];- [ ]optionaler Teil
- tabellen_felder
- Die Spalten, die im Ergebnis landen.
- tabellen_name
- Die Tabelle, aus der die Daten ausgewählt werden.
- anzahl_zeilen
Wie viele Zeilen ausgegeben werden. Hat das Ergebnis weniger Zeilen, kommen alle.
- anzahl_uebersprungen
Wie viele Zeilen vor der Ausgabe übersprungen werden. Lässt du es weg, beginnt die Ausgabe mit der ersten Zeile.
Optional
SELECT tabellen_felder
FROM tabellen_name
LIMIT anzahl_zeilen [OFFSET anzahl_uebersprungen];- [ ]optionaler Teil
- tabellen_felder
- Die Spalten, die im Ergebnis landen.
- tabellen_name
- Die Tabelle, aus der die Daten ausgewählt werden.
- anzahl_zeilen
Wie viele Zeilen ausgegeben werden. Hat das Ergebnis weniger Zeilen, kommen alle.
- anzahl_uebersprungen
Wie viele Zeilen vor der Ausgabe übersprungen werden. Lässt du es weg, beginnt die Ausgabe mit der ersten Zeile.
Optional
Anwendungsbeispiel
Nehmen wir die Tabelle Company:
Um die Zeilen 3 bis 5 auszugeben, brauchst du diese Query:
MySQL 8.4SELECT * FROM Company LIMIT 2, 3;
Oder, was dasselbe bewirkt:
MySQL 8.4SELECT * FROM Company LIMIT 3 OFFSET 2;
MySQL 8.4SELECT * FROM Company LIMIT 3 OFFSET 2;
Als Ergebnis kommt folgende Auswahl zurück:
In dieser Query werden die ersten zwei Zeilen der Tabelle (1, 2) übersprungen, danach werden die nächsten drei Datensätze (3, 4, 5) ausgegeben.
Und jetzt probier es selbst aus.
SELECT * FROM Company
LIMIT 3 OFFSET 2