sql >> Databasteknik >  >> RDS >> Mysql

Hur lägger man till vikter i en MySQL-tabell och väljer slumpmässiga värden enligt dessa?

Jag hittade denna fina lilla algoritm i Quod Libet. Du kan förmodligen översätta det till någon processuell SQL.

function WeightedShuffle(list of items with weights):
  max_score ← the sum of every item’s weight
  choice ← random number in the range [0, max_score)
  current ← 0
  for each item (i, weight) in items:  
    current ← current + weight  
    if current ≥ choice or i is the last item:  
      return item i


  1. Kan jag skapa vy med parameter i MySQL?

  2. Implementera rekursiva kommentarer i PHP/MySQL

  3. Fel:Okänd kolumn '' i 'fältlista' MySQL-fel

  4. Varför är det fel att välja specifika kolumner och allt i Oracle SQL?