sql >> Databáze >  >> RDS >> Mysql

MySQL:Vyberte náhodný záznam, ale váhu vůči určitým záznamům

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 .



  1. Výhody a nevýhody používání SqlCommand Prepare v C#?

  2. Nelze odečíst data-časy, které nejsou naivní a využívající offset

  3. Jak mohu opravit tuto chybu:není podporován SQL92?

  4. Vkládání více řádků se sekvencí v Oracle