2014年6月17日火曜日

MySQLのランダムな整数

Original post: http://anothermysqldba.blogspot.com/2014/06/mysql-random-integers.html

これは決して新しい機能ではありませんが、それは私がすべての今してポップアップ表示してしまっている質問です。 だから、簡単な例は以下の通りである。 

MySQLの内部にランダムな整数を生成するには、床やランド関数を使用することができます。 :このここにMySQLのマニュアルではhttp://dev.mysql.com/doc/refman/5.5/en/mathematical-functions.html#function_rand 

 私は= R <J、(私は、RAND()*(J + - I))式のフロアを使用した場合は、<範囲のランダムな整数Rを取得するには  

だから、例を与えるために: 

> SET @I = 3; # lower range 
> SET @J = 43 - @I; # max range minus lower range 

> SELECT FLOOR( @I + (RAND() * @J )) as lottery_numbers\G 
*************************** 1. row *************************** 
lottery_numbers: 4 
1 row in set (0.00 sec) 
> SELECT FLOOR( @I + (RAND() * @J )) as lottery_numbers\G 
*************************** 1. row *************************** 
lottery_numbers: 8 
1 row in set (0.00 sec 
> SELECT FLOOR( @I + (RAND() * @J )) as lottery_numbers\G 
*************************** 1. row *************************** 
lottery_numbers: 15 
1 row in set (0.00 sec 
> SELECT FLOOR( @I + (RAND() * @J )) as lottery_numbers\G 
*************************** 1. row *************************** 
lottery_numbers: 16 
1 row in set (0.00 sec 
> SELECT FLOOR( @I + (RAND() * @J )) as lottery_numbers\G 
*************************** 1. row *************************** 
lottery_numbers: 23 
1 row in set (0.00 sec 
> SELECT FLOOR( @I + (RAND() * @J )) as lottery_numbers\G 
*************************** 1. row *************************** 
lottery_numbers: 42 
1 row in set (0.00 sec