LIMIT und OFFSET

Liefert nur einen Teil der Zeilen: die ersten n oder eine Seite, die nach m Zeilen beginnt.

Syntax

SELECT … ORDER BY … LIMIT n [OFFSET m];
SELECT … ORDER BY … OFFSET m ROWS FETCH FIRST n ROWS ONLY;
  • Die Form FETCH ist Standard-SQL. SQL Server verwendet TOP oder OFFSET … FETCH; Oracle verwendet FETCH FIRST.

Beispiel

SELECT name, unit_price FROM products ORDER BY unit_price DESC, name LIMIT 3 OFFSET 3;

Die zweite Seite mit drei Produkten, das teuerste zuerst.

Verwendete Tabellen: products. Probiere es unten in einer Lektion aus.

Häufige Fehler

  • Ohne ORDER BY ist nicht festgelegt, welche Zeilen du bekommst.
  • Ein großes OFFSET liest und überspringt trotzdem alle vorherigen Zeilen, daher werden tiefe Seiten langsam.

Übe es