Mysql RAND依赖于另一个字段的最大值

时间:2016-10-07 09:18:56

标签: mysql

我正在使用MySQL,我有一个包含四列的表格,即id, userid, actualitemsperformeditems

我在actualitems列中有值,具体取决于我想要生成performeditems的值,该值不得大于actualitems,但至少应该从60%到actualitem actualitem值的100%是正整数。

例如,如果actualitems的值为0,那么performeditems将为0,但如果actualitems为10,那么performeditems必须是6到10之间的任何值。 / p>

我试过了:

SELECT id, userid, actualitems, FLOOR((RAND() * actualitems)*0.60) AS performeditems 
FROM engagements;

但似乎没有用,我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

要获得范围之间的随机值,请使用此选项:

SELECT Round((rand() * (Max-Min)) + Min);

在你的情况下:

Round(rand() * (actualitems-actualitems*0.6)) + actualitems*0.6) As performeditems