Rozdział 7: Limit rekordów

Dotychczas pobieraliśmy z bazy danych wszystkie rekordy które pasują do naszego żądania, a co w sytuacji gdy będziemy chcieli wykonać paginację na naszej stronie, albo po prostu wyjąć 10 najnowszych rekordów, 10 najdroższych gier ? Przykładowo w celu wykonania krótkiego zestawienia.

Powyższa kwestia jest banalnie prosta, także nie zapowiadam tym razem przydługiego tekstu.

Do ograniczenia ilości zwróconych rekordów służy poniższy wzorzec:

SELECT * FROM {tabela} ORDER BY {kolumna} {kolejność} LIMIT {ilosc}

Z wzoru przejdziemy od razu do konkretnego przykładu.

Wyciągnijmy najdroższą grę z naszej tabeli „games„.

SELECT * FROM `games` ORDER BY `price` DESC LIMIT 1;

Zastosowaliśmy przede wszystkim sortowanie po cenie, począwszy od najwyższej, a następnie narzuciliśmy bazie danych limit jednego rekordu.
Oczywiście, możemy ten limit zwiększyć, np. Do 10, wtedy otrzymamy 10 najdroższych gier z bazy.

Mamy również możliwość wyjęcia rekordów najdroższych, ale pomijając podium ? Oczywiście tak, jesteśmy tutaj zatem zmuszeni do lekkiej rozbudowy naszego wzoru:

SELECT * FROM {tabela} ORDER BY {kolumna} {kolejność} LIMIT {od ilu} {ilosc}

Wzór nie wydaje się zbyt czytelny, ale inaczej nie potrafię tego przekazać, najlepszy będzie zatem przykład który wyjaśni wszystko:

SELECT * FROM `games` ORDER BY `price` DESC LIMIT 3, 10;

Limit ustaliliśmy taki sam jak poprzednio, to 10 rekordów. Różnica polega na tym, że pomijamy trzy pierwsze rekordy.

To nasza cała klauzula limitu w zapytaniach sql.