首页 > 数据库 > mysql教程 > 如何从 MySQL 表中选择加权随机条目?

如何从 MySQL 表中选择加权随机条目?

Linda Hamilton
发布: 2024-12-03 06:26:10
原创
189 人浏览过

How Can I Select a Weighted Random Entry from a MySQL Table?

MySQL 中的加权随机条目选择

此问题涉及从 MySQL 表中选择随机条目,同时考虑“中指定的权重”乘数”栏。每个条目都根据此列中的值进行加权,值 0 表示不加权,1 表示双重加权,依此类推。

用户尝试使用 SELECT 和 RAND() 修改提供的代码,但在实现权重方面面临挑战。

解决方案在于使用 ORDER BY -LOG(1.0 - RAND()) / Multiplier,如类似的建议堆栈溢出线程。此公式根据乘数值有效地对条目进行加权,从而产生准确的结果。

但是,这种方法有一个限制:将乘数设置为 0 会导致除以零错误。为了缓解这一问题,可以使用 WHERE 子句过滤掉乘数值大于 0 的条目。

以上是如何从 MySQL 表中选择加权随机条目?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板