Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] losowy rekord z każdej kategorii
tomkiewicz
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 9.06.2007

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


pytałem na innych forach, nikt mi jeszcze nie pomógł w sposób satysfakcjonujący...

napisałem sobie skrypt galerii, podział jest na kategorie (bez zdjęć) i foldery (zawierające zdjęcia i przypisane do dokładnie jednej kategorii). Każde zdjęcie posiada w swoim rekordzie (w bazie) zarówno ID folderu, jak i ID kategorii. Chciałbym jak najmniejszym obciążeniem bazy wyciągnąć listę kategorii z losowymi zdjęciami. Podczas, gdy samo wyciągnięcie listy to pikuś (SELECT *), to wyciągnięcie tych losowych zdjęć robi schody :/

struktura tabeli ze zdjęciami:
- id int primary
- kategoria int index
- folder int index

próbowałem m.in. tak:
  1. SELECT DISTINCT(kategoria), id FROM zdjecia ORDER BY kategoria, RAND()

  1. SELECT kategoria, id FROM zdjecia GROUP BY kategoria ORDER BY kategoria, RAND()

ale nic nie pomaga - nie ma pożądanego efektu "losowania". Chce, zeby z kazdej kategorii po jednym zdjeciu wylosowal... Podzapytania odpadają, nie mam też ochoty na łączenie tabel - wydajność...
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 22.08.2025 - 09:16