我正在尝试根据mysql表的权重从mysql表中选择一些元素,示例表如下所示。
Name | Weight
-------------
Bobo | 0.1
Jill | 0.3
Andy | 0.5
Dave | 0.9
其中权重是0到1之间的浮点数。
我想做的是能够根据随机因素使用权重选择最多x行,结果将根据条目的权重随机化。
我现在正在使用PHP来实现这一目标,并希望能够看到如何在MySQL中完成此任务。
我正在思考这个mysql半pseudeo代码。
SELECT name, (weight calculation) as weight_calc
ORDER by weight_calc LIMIT 0,x
答案 0 :(得分:3)
在这里浏览一段时间后找到答案。草皮法我在发布问题后找到答案。
SELECT * FROM table ORDER BY weight*random() DESC LIMIT x