使用随机值在MySQL SELECT中生成字段

使用随机值在MySQL SELECT中生成字段,sql,Sql,我需要从数据库中导出数据,数据库中不存在新的随机场。 比如: SELECT field1, field2, rand(1,5) as field3 FROM table 可能吗?是,RAND()返回一个介于0和1之间的值。使用数学使该数字在您想要的范围内 是,RAND()返回一个介于0和1之间的值。使用数学使该数字在您想要的范围内 不是MySQL的答案,但可能有用:在SQL Server上,“RAND”函数需要一个行之间必须不同的种子。因此,一个简单的方法可能是: SELECT field1,

我需要从数据库中导出数据,数据库中不存在新的随机场。 比如:

SELECT field1, field2, rand(1,5) as field3 FROM table
可能吗?

是,
RAND()
返回一个介于0和1之间的值。使用数学使该数字在您想要的范围内

是,
RAND()
返回一个介于0和1之间的值。使用数学使该数字在您想要的范围内


不是MySQL的答案,但可能有用:在SQL Server上,“RAND”函数需要一个行之间必须不同的种子。因此,一个简单的方法可能是:

SELECT field1, field2, rand(id) as field3 FROM table
这取决于可用的ID,并且它也是伪随机的;每次将输出字段3的相同值。要解决此问题,只需通过基于时间的值增加id,例如使用以下技术:


这将给出一个介于0和1之间的值,如果需要的话,一点简单的数学运算可以强制该值介于1和5之间。

不是MySQL的答案,但可能有用:在SQL Server上,“RAND”函数需要一个行之间必须不同的种子。因此,一个简单的方法可能是:

SELECT field1, field2, rand(id) as field3 FROM table
这取决于可用的ID,并且它也是伪随机的;每次将输出字段3的相同值。要解决此问题,只需通过基于时间的值增加id,例如使用以下技术:


这将给出一个介于0和1之间的值,如果需要的话,一点简单的数学运算可以强制该值介于1和5之间。

您可以在MYSQL中使用该值:-

SELECT field1,field2,CAST((RAND() * 3) + 1 AS UNSIGNED) as Randomnumber from tablename

它将生成一个范围内的随机数

您可以在MYSQL中使用:-

SELECT field1,field2,CAST((RAND() * 3) + 1 AS UNSIGNED) as Randomnumber from tablename
它将生成一个范围内的随机数

我是这样解决的:

CEIL(兰特()*5)作为字段3

谢谢大家!

我是这样解决的:

CEIL(兰特()*5)作为字段3

谢谢大家!