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

Jak přidat váhy do tabulky MySQL a podle nich vybrat náhodné hodnoty?

Našel jsem tento pěkný malý algoritmus v Quod Libet. Pravděpodobně byste to mohli přeložit do nějakého procedurálního 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. Přístup k připojení odepřen pro uživatele www-data

  2. Datum Java SQL je posunuto o 1 den

  3. Vložení NULL do časového razítka MySQL

  4. Která je nejrychlejší? SELECT SQL_CALC_FOUND_ROWS FROM `tabulka` nebo SELECT COUNT(*)