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

Hvordan tilføjer man vægte til en MySQL-tabel og vælger tilfældige værdier i henhold til disse?

Jeg fandt denne pæn lille algoritme i Quod Libet. Du kunne sikkert oversætte det til noget proceduremæssig 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. opdateringskommando afvises for brugeren

  2. Hvorfor kan jeg ikke indtaste denne dato i en tabel ved hjælp af sql?

  3. MySQL-transaktion:SELECT + INSERT

  4. Bedste tilgang til at fjerne tid en del af datetime i SQL Server