MySQL:帶乘數的加權隨機選擇
用戶遇到了從MySQL 表中選擇隨機條目需要基於加權的場景在「乘數”列上。雖然典型的方法涉及利用 SELECT 和 RAND(),但出現瞭如何實現加權方面的問題。
為了解決這個問題,先前的解決方案建議按 -LOG(1.0 - RAND() 的值進行排序) 除以乘數。這種方法成功地產生了準確的權重。然而,出現了一個潛在的缺點:將乘數設為 0 來停用選項會導致除以零。
作為替代方案,透過使用 WHERE Multiplier > 來過濾掉乘數為 0 的條目。 0條件可以考慮。這可確保已停用的條目不包含在隨機選擇過程中。
以上是如何在 MySQL 中使用「乘數」列實現加權隨機選擇並避免被零除錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!