我想执行几次(比方说30)一个涉及随机数的“实验”
我的方法是:
选择 RND从 generate_series(0,30)为l, - 次数侧面( …
你的问题是 LATERAL 查询不依赖于左表表达式,因此PostgreSQL只评估它一次。
LATERAL
要为左表表达式中的每一行计算一次,请引入依赖项:
SELECT rnd FROM generate_series(0,30) as l -- number of times CROSS JOIN LATERAL ( SELECT l.l * 0 + random() AS rnd -- the "experiment" ) AS t;