mariadb SQL,随机数

zbdgwd5y  于 5个月前  发布在  其他
关注(0)|答案(2)|浏览(48)

我使用的是MariaDB,版本11.1.2,客户端15.2 for OSX 10.17(x86_64)。
我可以使用以下方法生成一个随机数:

SELECT FLOOR(RAND() * 50) + 1;

字符串
当运行时,它会生成一个1到50之间的随机数。我想做的是添加一个数字或模式的范围,当它选择一个随机数时,它会忽略掩码中的那些,比如:

SELECT FLOOR(RAND() * 50) + 1 NOT IN (5,11,21);

a64a0gku

a64a0gku1#

mariadb的一个选项:

SELECT seq
FROM seq_1_to_50
WHERE seq NOT IN (5, 11, 21)
ORDER BY RAND()
LIMIT 1

字符串

xggvc2p6

xggvc2p62#

你可以像这样使用while循环

SET @x=FLOOR(RAND()*50)+1;

WHILE @x IN (5,11,21)
BEGIN
SET @x=FLOOR(RAND()*50)+1;
END

字符串

相关问题