mariadb SQL,随机数

zbdgwd5y  于 2024-01-09  发布在  其他
关注(0)|答案(2)|浏览(139)

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

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

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

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

a64a0gku

a64a0gku1#

mariadb的一个选项:

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

字符串

xggvc2p6

xggvc2p62#

你可以像这样使用while循环

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

字符串

相关问题