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.