Mysql 基于权重的选择

Mysql 基于权重的选择,mysql,sql-order-by,Mysql,Sql Order By,我试图根据mysql表中的元素的权重从中选择一些元素,示例表如下 Name | Weight ------------- Bobo | 0.1 Jill | 0.3 Andy | 0.5 Dave | 0.9 其中,权重是介于0和1之间的浮动 我想做的是能够使用带有随机因子的权重选择最多x行,从而根据条目的权重对结果进行随机 我现在正在使用PHP来实现这一点,希望能够看到如何在MySQL中实现这一点 我是按照mysql半伪代码的思路思考的 SELECT name, (weigh

我试图根据mysql表中的元素的权重从中选择一些元素,示例表如下

Name | Weight 
-------------  
Bobo | 0.1 
Jill | 0.3  
Andy | 0.5  
Dave | 0.9
其中,权重是介于0和1之间的浮动

我想做的是能够使用带有随机因子的权重选择最多x行,从而根据条目的权重对结果进行随机

我现在正在使用PHP来实现这一点,希望能够看到如何在MySQL中实现这一点

我是按照mysql半伪代码的思路思考的

SELECT name, (weight calculation) as weight_calc 
ORDER by weight_calc LIMIT 0,x

在浏览了一段时间后找到了答案。Sods法则我在发布问题后找到答案

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

在浏览了一段时间后找到了答案。Sods法则我在发布问题后找到答案

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

那么重量的最终意义是什么呢?这是为了表明随机样本中包含该行的可能性有多大?显示您的php代码可能会有所帮助。那么权重的最终意义是什么?这是为了表明随机样本中包含该行的可能性有多大?显示php代码可能会有所帮助。