webmaster webmastering webdesign

Jesteś tutaj: webmade.org >> kursy online >> kurs mysql >> Część 3

Ograniczenie wyników zapytania

autor: Piotr Kuźmiński, ostatnia modyfikacja: 2007-10-14

szukaj: limit limit kurs mysql kurs mysql

Czasami chcemy w ramach statystyk wyświetlić np. tylko 10 pierwszy wierszy. Na przykład chcemy wyświetlić 10 zawodników, którzy zdobyli najwięcej punktów.

Można to zrobić w sposób prosty: wybrać wszystkich zawodników malejąco według zdobytych punktów, podczas wyświetlania kolejnych wierszy odliczać a przy dziesiątym wierszu przerwać pętle odpowiadającą za wyświetlanie wierszy. Takie rozwiązanie na pierwszy rzut oka wydaje się odpowiednie jednak tak nie jest. Gdy wysyłamy zapytanie do bazy danych o wybranie zawodników malejąco według zdobytych punktów serwer MySQL musi wybrać wszystkie rekordy z tabeli! To jest trochę pracy ;) Musimy wysłać zapytaniem SQL informacje o tym, że interesuje nas tylko pierwszych dziesięć wierszy - zrobimy to za pomocą klauzuli LIMIT według schematu:

SELECT nazwa_pola FROM nazwa_tabeli LIMIT wartosc

Gdzie wartosc jest ilością pól, które chcemy wyświetlić. Oczywiście klauzulę LIMIT możemy mieszać razem z klauzulami WHERE i ORDER BY, przykład:

$tresc_zapytania = 'SELECT `nazwisko`, `punkty` FROM `nba` WHERE `lata` > 5 ORDER BY `punkty` LIMIT 10';
$zapytanie = mysql_query($tresc_zapytania);
if (mysql_num_rows($zapytanie) > 0) {
while($wiersz = mysql_fetch_row($zapytanie)) {
echo 'Gracz '.$wiersz[0].' zdobył '.$wiersz[1].' puntów(y).';
}
}
else
echo 'Nie znaleziono żadnych graczy.';

Powyższy kod wyświetli dziesięciu zawodników, którzy grają przynajmniej już 5 lat.

Piotr Kuźmiński

Zagadnienia poruszane w tej części kursu:

Chcesz zostać programistą?

Poznaj 6 kroków do efektywnej
nauki programowania!

 

valid XHTML
valid CSS
© 2004-2008 copyright by webmade.org