Windows 7 で MySQL 5.6.21 を使用しています。
日付でシードされたテーブルから「ランダムな」行を返そうとしています(したがって、同じ行が現在の日に返され、翌日などに切り替わります-必要に応じて「日のジェネレーターのランダムな引用」)。
同じ行が表示され続けることに気付いたので、クエリを基本に単純化しました。RAND() 関数は、4 つのシード値ごとに非常によく似た数値を生成するようです。整数に丸めると、値は 4 番目のシードごとに繰り返されるように見えます。この例では 16 行しか使用していませんが、おわかりいただけたでしょうか。
create table t (i INT);
insert into t values(0),(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15);
select i, ceil(rand(i) * 16), rand(i) from t;
drop table t;
与える...
0 3 0.15522042769493574
1 7 0.40540353712197724
2 11 0.6555866465490187
3 15 0.9057697559760601
4 3 0.15595286540310166
5 7 0.40613597483014313
6 11 0.6563190842571847
7 15 0.9065021936842261
8 3 0.15668530311126755
9 7 0.406868412538309
10 11 0.6570515219653505
11 15 0.907234631392392
12 3 0.15741774081943347
13 7 0.40760085024647497
14 11 0.6577839596735164
15 15 0.9079670691005579
私が期待したものとは違うので、何が間違っているのでしょうか? 疑似乱数シーケンスが生成されることを期待していました。