ITPub博客

首页 > IT职业 > IT职场 > MySQL中的RAND()函数使用详解

MySQL中的RAND()函数使用详解

IT职场 作者:albertdong 时间:2021-09-09 09:38:21 0 删除 编辑

MySQL RAND()函数调用可以在0和1之间产生一个随机数:

?

1234567 mysql> SELECT RAND( ), RAND( ), RAND( );+------------------+-----------------+------------------+| RAND( )   | RAND( )   | RAND( )   |+------------------+-----------------+------------------+| 0.45464584925645 | 0.1824410643265 | 0.54826780459682 |+------------------+-----------------+------------------+1 row in set (0.00 sec)

当调用一个整数参数时,RAND()使用该随机数发生器种子值。每次在给定值种子生成,RAND()会产生一个可重复的一系列数字:

?

1234567 mysql> SELECT RAND(1), RAND( ), RAND( );+------------------+------------------+------------------+| RAND(1 )   | RAND( )   | RAND( )   |+------------------+------------------+------------------+| 0.18109050223705 | 0.75023211143001 | 0.20788908117254 |+------------------+------------------+------------------+1 row in set (0.00 sec)

可以使用ORDER BY RAND(),随机组行或值如下:

要了解ORDER BY RAND()函数, 假设EMPLOYEE_TBL的表有以下记录:

?

12345678910111213 mysql> SELECT * FROM employee_tbl;+------+------+------------+--------------------+| id | name | work_date | daily_typing_pages |+------+------+------------+--------------------+| 1 | John | 2007-01-24 |    250 || 2 | Ram | 2007-05-27 |    220 || 3 | Jack | 2007-05-06 |    170 || 3 | Jack | 2007-04-06 |    100 || 4 | Jill | 2007-04-06 |    220 || 5 | Zara | 2007-06-06 |    300 || 5 | Zara | 2007-02-06 |    350 |+------+------+------------+--------------------+7 rows in set (0.00 sec)

现在使用以下目录:

?

123456789101112131415161718192021222324252627 mysql> SELECT * FROM employee_tbl ORDER BY RAND();+------+------+------------+--------------------+| id | name | work_date | daily_typing_pages |+------+------+------------+--------------------+| 5 | Zara | 2007-06-06 |    300 || 3 | Jack | 2007-04-06 |    100 || 3 | Jack | 2007-05-06 |    170 || 2 | Ram | 2007-05-27 |    220 || 4 | Jill | 2007-04-06 |    220 || 5 | Zara | 2007-02-06 |    350 || 1 | John | 2007-01-24 |    250 |+------+------+------------+--------------------+7 rows in set (0.01 sec) mysql> SELECT * FROM employee_tbl ORDER BY RAND();+------+------+------------+--------------------+| id | name | work_date | daily_typing_pages |+------+------+------------+--------------------+| 5 | Zara | 2007-02-06 |    350 || 2 | Ram | 2007-05-27 |    220 || 3 | Jack | 2007-04-06 |    100 || 1 | John | 2007-01-24 |    250 || 4 | Jill | 2007-04-06 |    220 || 3 | Jack | 2007-05-06 |    170 || 5 | Zara | 2007-06-06 |    300 |+------+------+------------+--------------------+7 rows in set (0.00 sec)


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/106/viewspace-2811105/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-11

  • 博文量
    103
  • 访问量
    690