我想要实现的是为流程选择一个控制组。为此,我使用 random(),为了调试/一致性,我希望能够以可重复的方式设置随机数。意思是,一旦它为用户 123 分配随机数 0.001,我就运行查询。在不同的时间,我删除以前的数据,调用相同的查询,并再次为用户 123 分配随机数 0.001。
我努力了:
SELECT setseed(0);
SELECT 1, random() from generate_series(1,10);
我每次运行都会收到不同的随机数。
SELECT 1, setseed(0), random() from generate_series(1,10);
每行接收相同的随机数,这是无用的。
我确信这里有一些我不明白的地方。任何帮助表示赞赏。
Do a union all
of the setseed()
查询所需的查询。有必要匹配两个查询的列类型。setseed()
回报void
.
select setseed(0), null
union all
select null, random()
from generate_series(1, 10)
offset 1
;
The offset 1
条款消除了setseed() row
从结果集中
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)