sql >> Database teknologi >  >> RDS >> Mysql

MySQL:Vælg tilfældig indtastning, men vægt mod visse poster

Denne fyr stiller det samme spørgsmål. Han siger det samme som Frank, men vægtningerne kommer ikke rigtigt frem, og i kommentarerne foreslår nogen at bruge ORDER BY -LOG(1.0 - RAND()) / Multiplier , som i min test gav stort set perfekte resultater.

(Hvis nogen matematikere derude ønsker at forklare, hvorfor dette er korrekt, så oplys mig venligst! Men det virker.)

Ulempen ville være, at du ikke kunne indstille vægtningen til 0 for midlertidigt at deaktivere en mulighed, da du ville ende med at dividere med nul. Men du kan altid filtrere det fra med en WHERE Multiplier > 0 .



  1. Bedste praksis til at implementere sikker database til Android-enhed

  2. Sådan importeres en Heroku PG-dump til lokal maskine

  3. OPENROWSET accepterer ikke variabler for sine argumenter (SQL-server)

  4. Oracle SQL udviklerværktøj:Download og installation