sql >> Database >  >> RDS >> Mysql

Hoe voeg je gewichten toe aan een MySQL-tabel en selecteer je willekeurige waarden volgens deze?

Ik vond dit leuk klein algoritme in Quod Libet. Je zou het waarschijnlijk kunnen vertalen naar een procedurele 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. 4 manieren om de definitie van een opgeslagen procedure te krijgen met Transact-SQL

  2. Unieke beperking voor meerdere kolommen

  3. PostgreSQL-rechten en beveiliging - Het openbare schema afsluiten

  4. Hoe ga ik om met het openen/sluiten van een Db-verbinding in een Go-app?