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

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

Linda Hamilton
Linda Hamilton原创
2024-12-03 06:26:10195浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn