从特定列表中选择随机数

时间:2019-01-11 07:16:03

标签: mysql sql random

如何在MySQL中获取随机数Set<String> allUniqueElementsInList = new HashSet<>(list); if(!allUniqueElementsInList.containsAll(map.keySet())) { throw new CustomException(""); }

我尝试使用[10, 20, 30, 50],但这会生成不需要的数字,例如ROUND(RAND() * (50 - 10) + 10)

我想知道这段代码是否会

11, 12, 24

但是如何?

我想将我的数量列设置为使用ROUND(RAND()*(50-10)+ 10)随机选择10、20、30或50。而不是11、12或其他可能的数字。

希望很清楚。

3 个答案:

答案 0 :(得分:2)

尝试一下,一切正常

ROUND(RAND() * (5-1))*10

答案 1 :(得分:2)

以下内容将为您提供列表中的个数字之一

SELECT ELT(FLOOR(RAND() * 4) + 1, 10, 20, 30, 50);

此处的大小为4,由于ELT是基于1的,因此添加了一个。

答案 2 :(得分:1)

如果您希望数字可以由10设计,请使用Div,然后乘以10

SELECT((FLOOR(RAND()*(50-10 + 1))+ 10)DIV 10)* 10;