【发布时间】:2011-08-01 02:32:03
【问题描述】:
我想从表中选择一条随机记录,但偏向于特定字段中的更高值 - 我不希望任何记录有 0% 的机会被选中,只是不太可能被选中.
从这篇文章中,我知道随机选择可能会很慢,您可以加快它们的速度: http://wanderr.com/jay/order-by-slow/2008/01/30/
但是,当您处理几个带有连接和 where 语句的表时,并希望使用其中一个字段作为一种偏向随机性的方式(该字段的值越高,被选中的可能性越大)怎么办? ?例如:
SELECT a.id, a.date, a.userid, b.points FROM table_a AS a INNER JOIN table_b AS b ON (a.userid = b.userid) WHERE DATE_SUB(CURDATE(), INTERVAL 60 DAY) <= a.date
我怎样才能将上述内容变成一个有效但不是真正随机的查询,该查询会偏向于更高的 b.points 值?
【问题讨论】:
标签: mysql performance select random