Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: SELECT co kilka rekordów
Forum PHP.pl > Forum > Bazy danych > MySQL
phpowiec84
Mam tabelę :

id , name
1 coś
2 coś
3 coś
4 coś
5 coś
....

chcę pobrać co 4 rekord ,czyli w tym przypadku 1 , 4, 8

jak mogę to wykonać w Mysql'u ?

cojack
Albo sobie sam wygenerujesz idki do pobrania, albo strzelisz randoma z limitem i zakresem odkąd dokąd. Innej opcji nie widzę.
Sephirus
Lub skorzystać z matematyki:

  1. SELECT * FROM tabelka WHERE id % 4 == 0 -- pobiera wszystkie rekordy podzielne przez 4 czyli: 0, 4, 8, 12, 16 itd...


Bawiąc się z % i matematyką możesz sobie poradzić z tym wink.gif
cojack
O modulo zapomniałem biggrin.gif
cudny
Ale modulo nie zadziała przy auto_increment bo jeśli cokolwiek skasujesz to już się zmieni wynik.
Zadziała tylko jeśli jesteś pewny, że id jest zawsze po kolei
cojack
A takiej pewności nigdy nie masz.
phpion
Wystarczy numerować wiersze podczas ich pobierania. Na stronie ~nospora jest nawet gotowy przykład z pobieraniem co X wierszy:
http://nospor.pl/mysql-faq.html#faq-7
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.