Py学习  »  DATABASE

在mysql中以随机顺序生成整数序列

Krishna Panchal • 4 年前 • 804 次点击  

在mysql中,有没有其他方法可以随机生成带顺序的序列号???? 我有一张桌子:验证码

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
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/44981
 
804 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Madhur Bhaiya
Reply   •   1 楼
Madhur Bhaiya    4 年前

为此,首先需要在 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