Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobranie co ktoregoś wiersza
Forum PHP.pl > Forum > Bazy danych > MySQL
karura
Witajcie,

chciałbym pobrać co dziesiąty wiersz z tabeli - jak to zrobić?
kitol
Chcesz pobrać co dziesiąty losowy wiersz, czy wg jakiejś kolejności? Jeżeli losowo to:
  1. SELECT * FROM tabela ORDER BY RAND() LIMIT ilosc_wierszy

gdzie:

ilosc_wierszy jest ilością wierszy które chcesz pobrać dla co dziesiątego jest to ilość wszystkich wierszy w tabeli/10. Liczysz to w php bo podzapytanie w klauzuli:
  1. LIMIT (SELECT COUNT(*)/10 FROM tabela)
nie działa
Jeżeli masz kolumnę Primary Key wówczas możesz zrobić np:
  1. SELECT * FROM tabele WHERE primary_key%10=0
karura
Hmm, dzięci Ci, ale chce pobrać dajmy na to 1,10,10, 20 itd. wiersz, nie moge się posluzyc primary_key bo chce moc pobierac wg roznych porzadkow (select by name, select by number, ...) a wiec chce wiedziec ktory wiersz jest aktualnie pobierany - jakas zmienna ustawiana na poczatku i inkrementowana - no i powiedzmy jesli ta zmienna po podzieleniu przez wartosc "co ktory wiersz ma byc pobierany" daje liczbe calkowita no to jestesmy w domu...
kitol
Spróbuj tego:

  1. SELECT kolumna FROM ( SELECT kolumna,(SELECT COUNT(*) FROM tabela a2 WHERE a2.kolumna<a1.kolumna ORDER BY kolumna) AS numer FROM tabela a1
  2. ORDER BY kolumna) a2 WHERE numer%10=0;


w warunku WHERE po % podajesz co który wiersz ma wyświetlać.
nospor
  1. SET @nr=-1;
  2. SELECT * FROM ( SELECT @nr:=@nr+1 nr,tabela.* FROM tabela
  3. ) al WHERE nr % 10 = 0;

Przy zalozeniu ze twoja tabela nie ma pola nr. Jak ma to zmien w zapytaniu na co innego
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.