在MYSQL中有没有其他方法可以随机生成sequence_no??? 我有一张表:验证码
SET @a:= 1;
SELECT @a:=@a+1 as sequence_no,captcha_id, captcha_name
FROM captcha,(SELECT @a:= 0) AS a
ORDER BY RAND()
我的预期输出:
sequence_no | captcha_id | captcha_name
----------------------------------------
01 | 11 | name1
02 | 06 | name2
我的查询输出:
sequence_no | captcha_id | captcha_name
----------------------------------------
11 | 11 | name1
06 | 06 | name2
最佳答案
为此,您首先需要在 Derived Table 中执行显式随机排序.然后,使用子查询结果,设置一个序列号(对于随机排序的行):
SET @a:= 0;
SELECT @a:=@a+1 as sequence_no,
dt.captcha_id,
dt.captcha_name
FROM (
SELECT captcha_id, captcha_name
FROM captcha
ORDER BY RAND()
) AS dt
关于mysql - 在 MySQL 中生成一个随机顺序的整数序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57092253/