Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Optymalne generowanie bez powtórzenia
Forum PHP.pl > Forum > Bazy danych
qoqo
Witam. Mam bazę ok. 10 tyś rekordów.

Oczywiście zrezygnowałem z losowania wpisów order by rand()

znalazłem takie rozwiązanie:

  1. SELECT t.* FROM (SELECT ROUND(RAND() * (SELECT MAX(id) FROM baza_wpisy)) num, @num:=@num+1 FROM (SELECT @num:=0) AS a, baza_wpisy LIMIT 10) AS b, baza_wpisy AS t WHERE b.num = t.id


Jest pewien problem, przy wygenerowaniu 10 wpisów zdarza się często, że te rekordy występują nawet 2 razy w zapytaniu.
Chciałbym uzyskać efekt taki, aby przy wylosowaniu tych 10 wpisów się nie powtarzały.

Oczywiście nie musi być to zapytanie; jednak chciałbym aby było optymalne: dziennie przybywa po 100-150 rekordów.

Pozdrawiam
trueblue
Temat: Losowy rekord
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.