[sql] Jak wybrac losowy rekord z tabeli ?

0

Jak wybrac z tabeli gdzie jest 100 rekordow te zeby wybrac na przyklad
5 losowych rekordow.

0

google nie pomogło???
SELECT *
FROM tabelka
ORDER BY rand( )
LIMIT 5

0

Jeżeli to ma działać super wolno, to sposób bordeux jest dobry.

Sposób zdecydowanie lepszy, ale wymagający jakiegoś języka imperatywnego (PHP, PL/SQL).
Podaję w "pseudokodzie":

liczba_rekordów_w_tabeli = SELECT count(*) FROM tabela;
offset = (liczba_rekordów_w_tabeli - 5) * rand();
SELECT * FROM tabela LIMIT 5 OFFSET offset ;

Sposób najlepszy działa rzędy wielkości szybciej, ale wymaga pogłówkowania i nie będę go tu podawał, bo jest za długi, a nie mam tyle czasu...

1 użytkowników online, w tym zalogowanych: 0, gości: 1