相关疑难解决方法(0)

MySQL:选择随机输入,但是对某些条目的权重

我有一个MySQL表,里面有一堆条目,还有一个名为"Multiplier"的列.此列的默认(和最常见)值为0,但可以是任何数字.

我需要做的是随机从该表中选择一个条目.但是,行根据"乘数"列中的数字进行加权.值为0意味着它根本没有加权.值为1意味着它的加权值是两倍,就像条目在表中两次一样.值为2意味着它的加权值是其三倍,就像条目在表中三次一样.

我正在尝试修改我的开发人员已经给我的内容,很抱歉,如果设置没有多大意义.我可能会改变它,但希望保留尽可能多的现有表格设置.

我一直试图弄清楚如何使用SELECT和RAND(),但不知道如何进行加权.可能吗?

php mysql random select database-table

36
推荐指数
4
解决办法
1万
查看次数

SQL:随机选择一行,但考虑到权重

我正在使用MySQL.我有一张看起来像这样的表:

id: primary key
content: varchar
weight: int
Run Code Online (Sandbox Code Playgroud)

我想要做的是从该表中随机选择一行,但考虑到重量.例如,如果我有3行:

id, content, weight
1, "some content", 60
2, "other content", 40
3, "something", 100
Run Code Online (Sandbox Code Playgroud)

第一行有30%被选中的机会,第二行被选中的几率为20%,第三行被选中的几率为50%.

有没有办法做到这一点 ?如果我必须执行2或3个查询,这不是问题.

mysql sql random select

10
推荐指数
2
解决办法
5385
查看次数

标签 统计

mysql ×2

random ×2

select ×2

database-table ×1

php ×1

sql ×1