Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobranie co ktoregoś wiersza, Chcę pobrać co dziesiąty wiersz z tabeli
karura
post 6.11.2007, 23:07:38
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 6.11.2007

Ostrzeżenie: (0%)
-----


Witajcie,

chciałbym pobrać co dziesiąty wiersz z tabeli - jak to zrobić?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
kitol
post 7.11.2007, 10:04:22
Post #2





Grupa: Zarejestrowani
Postów: 162
Pomógł: 26
Dołączył: 19.01.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
karura
post 7.11.2007, 13:03:34
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 6.11.2007

Ostrzeżenie: (0%)
-----


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...
Go to the top of the page
+Quote Post
kitol
post 7.11.2007, 13:39:29
Post #4





Grupa: Zarejestrowani
Postów: 162
Pomógł: 26
Dołączył: 19.01.2007

Ostrzeżenie: (0%)
-----


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ć.
Go to the top of the page
+Quote Post
nospor
post 7.11.2007, 13:40:06
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:31