Mysql基于权重的选择

时间:2009-11-18 14:40:26

标签: mysql sql-order-by

我正在尝试根据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

1 个答案:

答案 0 :(得分:3)

在这里浏览一段时间后找到答案。草皮法我在发布问题后找到答案。

SELECT * FROM table ORDER BY weight*random() DESC LIMIT x