Autor Zpráva
123456
Profil *
Moderátor Str4wberry: Přesunuto z PHP.
Ahoj, ako urobit MYSQL prikaz ktory vyberie JEDEN nahodny row z poslednych 10 zaznamov?
Str4wberry
Profil
Nejlepší asi bude si v PHP vygenerovat náhodné číslo a to použít jako LIMIT, zhruba takto:
$nahodneCislo = mt_rand(0, 9);
$dotaz = "select * from tabulka order by datum desc limit $nahodneCislo, 1";
123456
Profil *
order by poslednych 10 ID-ciek pojde?, datum neukladam
Str4wberry
Profil
Pokud ta ID značí chronologii dat, tak by mělo.
123456
Profil *
tomu nerozumiem co myslis, je to ID s auto_increment
Kajman
Profil
123456:
datum neukladam

Tak je místo sloupce datum použitje v dotaze sloupec s id.
Kemsyt
Profil *
Caute. Dobre, a co tak toto: mam tabulku kde je 1000 riadkov. Jednym zo stlpcov je kategoria (cat), ktora ma hodnotu 1 az 7. Zadanie SELECT * FROM table WHERE cat IN (2,5,6) (2,5,6 je priklad, zavisi od udaja vyplneneho vo formulari) mi vrati vsetky riadky. A moja otazka: ako z tychto vsetkych riadkov (povedzme ze mi vrati 200 riadkov) vyberiem len 20, ale NAHODNYCH, riadkov ? Da sa to nejak jednoducho zadat uz priamo do SQL prikazu ? (t.j. nie cez dodatocne vyselektovanie nahodnych riadkov pomocou PHP) dakujem
Kemsyt
Profil *
Vyriesil som to napokon takto:

SELECT * FROM megatest WHERE cat IN ($in) ORDER BY RAND() LIMIT $limit

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: