我使用的是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);
型
a64a0gku1#
mariadb的一个选项:
SELECT seq FROM seq_1_to_50 WHERE seq NOT IN (5, 11, 21) ORDER BY RAND() LIMIT 1
字符串
xggvc2p62#
你可以像这样使用while循环
SET @x=FLOOR(RAND()*50)+1; WHILE @x IN (5,11,21) BEGIN SET @x=FLOOR(RAND()*50)+1; END
2条答案
按热度按时间a64a0gku1#
mariadb的一个选项:
字符串
xggvc2p62#
你可以像这样使用while循环
字符串