首頁 > 資料庫 > mysql教程 > 如何在 MySQL 中選擇加權隨機行?

如何在 MySQL 中選擇加權隨機行?

Barbara Streisand
發布: 2024-12-05 00:13:15
原創
390 人瀏覽過

How to Select a Weighted Random Row in MySQL?

MySQL 中帶有加權結果的隨機選擇

此問題涉及從MySQL 表中選擇一個隨機條目,其中行基於「乘數”欄。使用 RAND() 的傳統方法不考慮此權重。

為了解決這個問題,使用者建議使用 ORDER BY -LOG(1.0 - RAND()) / Multiplier 的方法。此公式有效地調整隨機化過程,使加權行被選擇的機率更高。

此公式計算代表每行「隨機性」的值,其中較低的值表示較高的機率。透過將此值除以“乘數”,乘數較高的行實際上會獲得較低的“隨機性”,因此被選擇的機會較高。

此方法的缺點是無法停用透過將乘數設為 0 來獲得一行,因為這會導致除以零。但是,可以透過使用 WHERE Multiplier > 過濾行來克服此限制。 0 排除乘數為零的那些。

以上是如何在 MySQL 中選擇加權隨機行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板