Ten chlap
ptá se stejnou otázku. Říká totéž co Frank, ale váhy nevycházejí správně a v komentářích někdo navrhuje použít ORDER BY -LOG(1.0 - RAND()) / Multiplier
, což při mém testování poskytlo téměř dokonalé výsledky.
(Pokud chtějí nějací matematici vysvětlit, proč je to správné, prosím, poučte mě! Ale funguje to.)
Nevýhodou by bylo, že byste nemohli nastavit váhu na 0, abyste dočasně deaktivovali možnost, protože byste skončili dělením nulou. Vždy to ale můžete odfiltrovat pomocí WHERE Multiplier > 0
.