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