LIMIT und OFFSET

Mithilfe von LIMIT und OFFSET können Sie ausgewählte Zeilen abrufen, die von der Abfrage generiert wurden. Wenn Sie LIMIT und OFFSET zusammen verwenden, können Sie eine beliebige Auswahl der Ergebnisse zurückgeben. Anhand von LIMIT können Sie die Anzahl der zurückgegebenen Ergebnisse auf eine bestimmte Anzahl beschränken. Über die Zeilengrenze hinaus werden keine Ergebnisse zurückgegeben (jedoch möglicherweise weniger, wenn durch die Abfrage weniger Zeilen zurückgegeben werden). Mithilfe von OFFSET können Sie eine bestimmte Anzahl an Zeilen überspringen, bevor Zeilen in der Abfrage zurückgegeben werden. Wenn sowohl OFFSET als auch LIMIT definiert sind, wird die Anzahl an OFFSET-Zeilen übersprungen, bevor die Anzahl der zurückzugebenden LIMIT-Zeilen gezählt wird.

Wenn Sie LIMIT und OFFSET verwenden (und ein bestimmter Wertebereich zurückgegeben werden soll), müssen Sie eine ORDER BY-Klausel verwenden. Dadurch werden die Ergebniszeilen in einer eindeutigen Reihenfolge zurückgegeben. Andernfalls erhalten Sie eine unvorhersehbare Teilmenge der Zeilen in der Abfrage.

Die folgende SELECT-Anweisung wendet beispielsweise einen WHERE-Klauselfilter an, sortiert das Ergebnis anhand von ORDER BY, und gibt die ersten 20 Zeilen ab Zeile 50 in den Ergebnissen zurück:



SELECT * from <NAMED_TABLE> WHERE <SOME_CONDITION> ORDER BY <COLUMN_NAME> LIMIT 20 OFFSET 50   

		

Dabei gilt:

  • NAMED_TABLE ist die Datenquelle für die Abfrage in Form einer benannten Tabelle
  • SOME_CONDITION ist eine gültige WHERE-Klauselbedingung in MI SQL
  • COLUMN_NAME ist eine gültige Spalte in der Tabelle