为什么这会在每一列中返回不同的随机数?我认为如果我使用setseed()
. 但看起来每次调用都有一个新的随机数常量向量random()
。
select setseed(0.5);
select
random(),
random(),
random()
from
generate_series(1,20);
每次返回:
0.798512778244913;0.518533017486334;0.0734698106534779
0.563445927575231;0.00328421639278531;0.859378454275429
0.537976825609803;0.567121817730367;0.311047440394759
0.420166166499257;0.203177386429161;0.125661129131913
0.754696044139564;0.424046442843974;0.202209176961333
...
现在我看到(感谢 Ed Heal)随机数是由行生成的。为了证明这一点:
select setseed(0.5);
select random(), random(), random();
select setseed(0.5);
select random()
union all
select random()
union all
select random();
这不是有点奇怪吗?我的意思是,为什么它不能按列工作?