Esse cara faz a mesma pergunta. Ele diz o mesmo que Frank, mas as ponderações não saem direito e nos comentários alguém sugere usar
ORDER BY -LOG(1.0 - RAND()) / Multiplier
, que em meus testes deu resultados praticamente perfeitos. (Se algum matemático quiser explicar por que isso está correto, por favor me esclareça! Mas funciona.)
A desvantagem seria que você não poderia definir a ponderação como 0 para desativar temporariamente uma opção, pois acabaria dividindo por zero. Mas você sempre pode filtrá-lo com um
WHERE Multiplier > 0
.