Sam
LIMIT bierze zawsze pierwsze wiersze. Ale co, jeśli chcesz drugą stronę katalogu - kolejne pięć książek po tych pierwszych pięciu? Tu wkracza OFFSET.OFFSET mówi, ile wierszy pominąć, zanim zaczniesz liczyć:1SELECT tytul
2FROM ksiazki
3ORDER BY tytul ASC
4LIMIT 5 OFFSET 10;Tu pomijamy 10 zwojów i bierzemy kolejne 5 (czyli pozycje 11-15). To podstawa stronicowania - dzielenia długiej listy na strony.
Wyobraź sobie katalog po 5 pozycji na stronę:
| Strona | LIMIT | OFFSET | |--------|-------|--------| | 1 | 5 | 0 | | 2 | 5 | 5 | | 3 | 5 | 10 |
Wzór jest prosty:
1-- OFFSET = (numer_strony - 1) * rozmiar_strony
2SELECT tytul FROM ksiazki ORDER BY tytul ASC LIMIT 5 OFFSET 5;Powyższe pokaże drugą stronę (pomijamy pierwszych 5, bierzemy kolejnych 5).
OFFSET dopisujemy po LIMIT, na samym końcu zapytania. Pełna kolejność brzmi: SELECT → FROM → ORDER BY → LIMIT → OFFSET.
Dzięki stronicowaniu nawet najdłuższy katalog mieści się wygodnie na ekranie - strona po stronie, zwój po zwoju.