gpt4 book ai didi

MySQL RAND(),如何从列值中考虑权重

转载 作者:行者123 更新时间:2023-11-30 22:55:38 25 4
gpt4 key购买 nike

--已解决--

假设您有一个条目表,其中条目 1 的权重为 20,条目 2 的权重为 80。运行如下查询

SELECT * FROM `entries` ORDER BY RAND() LIMIT 1    

将随机返回任意一行。但是,我想考虑权重因素,这样 entry2 有 80% 的机会被抽到,entry1 有 20% 的机会。

是否有编写此查询的正确/hacky 方法?以前,我必须为 entry1 插入 20 个条目,为 entry2 插入 80 个条目,才能很好地表示每个权重。

最佳答案

我相信以下会做你想做的事:

select *
from entries e
order by weight * rand()
limit 1;

关于MySQL RAND(),如何从列值中考虑权重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26506933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com