select .. from (
Select ... from ... order by weight desc limit N
) order by rand() limit 1
Bei der obigen Variante muss jedes Mal eine temporäre Tabelle erstellt werden, was nicht effizient ist und daher nicht in Frage kommt.
Wie macht man es richtig?